您好我的代码没有给出任何错误但不是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();
?>
答案 0 :(得分:1)
mysqli_real_escape_string
转义字符串,但不引用它,因此您的查询语法错误。
将其替换为:
"... WHERE name = '$name'"...
使用数据库功能时,请检查并报告(或记录或其他)错误。