[英]mysql is not returning any result
我在PHP程序中编写以下代码,但mysql不返回任何行。 请检查并帮助找出以下代码中的错误。
index.php:
<?php
require 'connect.php';
if (!$_POST['submit']) {
echo "<table border=\"0\" cellspacing=\"3\" cellpadding=\"3\"> \n";
echo "<form method=\"POST\" action=\"index.php\">\n";
echo "<tr><td>username</td><td><input type=\"text\" name=\"username\"</td></tr> \n";
echo "<tr><td colspan=\"2\" align=\"right\"><input type=\"submit\" name=\"submit\"</td></tr> \n";
echo "</form></table> \n";
} else {
$user = filter_input(INPUT_POST, username);
$result = $db->query("SELECT id,username FROM members WHERE username=".$user);
print_r($result);
}
connect.php:
<?php
$db = new mysqli('localhost', 'Siload', 'Siload2012', 'users');
if ($db->connect_errno) {
echo $db->connect_error;
}
?>
使用print_r(mysqli_fetch_assoc($result));
似乎您没有正确声明变量。 您也没有正确建立查询。 请尝试这种方式。
$user = filter_input(INPUT_POST, $_POST['username']);
$result = $db->query("SELECT id,username FROM members WHERE username='".$user."'");
要打印任何结果,您需要从结果中获取行,因为$ db-> query返回了一个mysqli_result对象,该对象是一个迭代器,但是还不包含任何实际数据。
例如: $row = $result->fetch_assoc(); print_r($row);
$row = $result->fetch_assoc(); print_r($row);
如果还应该将检查添加到$ result变量(如果它等于false)。 在这种情况下,查询本身会出现一些错误。 也许您的数据库目前不可用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.