mysql没有返回任何结果

时间:2015-05-20 07:12:48

标签: php mysql

我在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;
}
?>

3 个答案:

答案 0 :(得分:0)

使用print_r(mysqli_fetch_assoc($result));

答案 1 :(得分:0)

似乎你没有正确宣布你的变量。您也没有正确构建查询。请尝试这种方式。

$user = filter_input(INPUT_POST, $_POST['username']);
$result = $db->query("SELECT id,username FROM members WHERE username='".$user."'");

答案 2 :(得分:0)

要打印从结果中获取行所需的任何结果,因为$ db-&gt; query返回一个mysqli_result对象,它是一个迭代器,但它还没有包含任何实际数据。

例如: $row = $result->fetch_assoc(); print_r($row);

fetch_assoc docs

如果等于false,还应该对$ result变量添加一个检查。在这种情况下,您在查询本身中会遇到一些错误。也许您的数据库暂时不可用