2011-08-14 66 views
0

你好,我的代码不会给出任何错误,但不是在db中的名称结果? 下面的代码是用于处理用户输入到php文件的数据的表单。 HTML用户输入代码:数据库查询给出没有错误或者没有结果?

<html> 
<head> 
</head> 
<body> 
<form action="search.php"> 
<input type="text" name="search"> 
<input type="submit"> 

</body> 
</html> 

PHP代码:

 <?php 
$db = new mysqli("localhost","root","","acksocial"); 

if(mysqli_connect_error()) 
{ 
printf("Connection failed:%s \n",mysqli_connect_error()); 
exit(); 
} 

$name = mysqli_real_escape_string($db, $_POST['search']); 
$table = 'acksearch'; 

if($result = $db->query("SELECT * FROM $table WHERE name = $name", MYSQLI_ASSOC)) 
{ 
while($row = $result->fetcssh_object()) 
    { 

// $row is an associative array 

// Do something here 

echo "Name: ".$row['name']; 

echo " country: ".$row['country']; 

} 
} 
$db->close(); 

?> 

回答

1

mysqli_real_escape_string脱线,但不引用它,所以你的查询有语法错误。

将其替换为:

"... WHERE name = '$name'"... 

请检查和报告(或日志,或其他)错误使用数据库函数时。

+0

另外MySQLi不会像MySql一样产生错误。如果你想看到你需要抓住它们的错误。请参阅mysqli_error mysqli_errno。 – transilvlad

相关问题