繁体   English   中英

mysql没有返回任何结果

[英]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);

fetch_assoc文档

如果还应该将检查添加到$ result变量(如果它等于false)。 在这种情况下,查询本身会出现一些错误。 也许您的数据库目前不可用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM