我使用 php 和数据库制作了一本英语到波斯语的字典,我从用户那里获取英语单词并将其发布到 process.php,然后在该文件中我在数据库中搜索输入的单词并返回波斯语的意思。这工作正常,但我的问题是,当输入的单词不在我的数据库中时,代码不会输入 else 条件,并且不会打印“0 结果”语句。如果有人可以提供帮助,我将非常感激。 这是我的第一个文件:
<html>
<head>
<style>
body {
background-image: url("final.jpg");
}
#par {
width: 320px;
padding: 10px;
border: 5px solid gray;
margin-left:auto;
margin-Right:auto;
position: absolute;
top: 20%;
left:35%;
text-align: center;
background-color:Powderblue;
}
#footer{
margin-top:45%;
background-color:#C7BDBB;
text-align:right;
}
</style>
<title>niloofar-dictionary</title>
</head>
<body>
<div id=par>
<?php
$username="raanaste_niloo1";
$password="Nt13541372";
$dbname="raanaste_niloofar-dictionary";
$usertable="dictionary";
$yourfield = "english";
$yourfield1 = "persian";
//Connect to the database
$connection = mysql_connect($hostname, $username, $password);
mysql_select_db($dbname, $connection);
$name = $_POST["word"];
//Setup our query
$query = "SELECT persian FROM $usertable WHERE english='{$_POST["word"]}'";
//Run the Query
$result = mysql_query($query);
//If the query returned results, loop through
// each result
if($name)
{
if($result!=NULL)
{
while($row = mysql_fetch_array($result))
{
$na = $row["$yourfield1"];
echo "word in persian: " . $na;
}}
else {
echo "0 results"
}
}
?>
</div>
<div id="footer">
<h4> COPYRIGHT: © 2017 niloofartarighat. </h4></div>
</body>
</html>
这是 process.php
最佳答案
您可以使用一个函数:
function getDataForAdmin($select, $from, $where, $orderBy, $multi = false){
global $con;
$q = "select ".$select." from ". $from;
if(strlen($where)>0 && $where != " " || $where != null){
$q .= " where ".$where;
}
if(strlen($orderBy)>0 && $orderBy != " " || $orderBy != null){
$q .= " order by ".$orderBy;
}
$r = mysqli_query($con, $q);
if($r){
if(mysqli_num_rows($r)>0){
$data['result'] = true;
if($multi){
$data['data'] = getMultilineData($r);
}else{
$data['data'] = mysqli_fetch_assoc($r);
}
}else{
$data['result'] = false;
$data['data'] = "No Record Found!";
}
}else{
$data['result'] = false;
$data['data'] = "Error: 0xDS31ADMN". mysqli_errno($con);
}
return $data;
}
function getMultilineData($sql){
$c = 0;
while ($r = mysqli_fetch_assoc($sql)){
$data[$c] = $r;
$c++;
}
return $data;
}
function escapeString($val) {
global $con;
return mysqli_real_escape_string($con, $val);
}
if(isset($_POST)){
$name = escapeString($_POST['name']);
$data = getDataForAdmin("*", "table", "name = '$name'", null);
}
并根据需要编写自己的代码:)
关于php - 在数据库搜索中找不到数据的正确的其他条件是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41966254/