Запрос к базе данных не дает ошибки или нет результата? - PullRequest
0 голосов
/ 14 августа 2011

Здравствуйте, мой код не выдает никакой ошибки, но не является результатом имени в 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 Ответ

1 голос
/ 14 августа 2011

mysqli_real_escape_string экранирует строку, но не заключает ее в кавычки, поэтому ваш запрос имеет синтаксическую ошибку.

Заменить его на:

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

При использовании функций базы данных проверьте и сообщите (или журнал, или что-то еще).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...