【发布时间】:2017-03-15 04:01:35
【问题描述】:
我正在尝试在名为 test2 的表上运行 select 语句。这是一个非常简单的表,包含用户名和密码列。我不明白如何访问查询结果。我希望能够检查通过 POST 表单发送的用户名和密码是否与我的 test2 表中的用户名和密码匹配。现在我只是想让查询工作并打印出结果。我从这里的文档http://php.net/manual/en/mysqli-stmt.get-result.php
中获得了大部分代码 $link = mysqli_connect(HOST,USERNAME,PASSWORD,DBNAME) or die ("Connect Error" . mysqli_error($link));
$query = "SELECT username, password FROM test2 where username =? AND password =?";
$stmt = mysqli_stmt_init($link);
if(!mysqli_stmt_prepare($stmt, $query))
{
print "Failed to prepare statement\n";
}
else{
mysqli_stmt_bind_param($stmt,"ss", $_POST['user'], $_POST['pw']);
mysqli_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$numRows = $result->mysqli_num_rows;
if ($numRows == 1){
echo "User exists";
}else{
echo "No users";
}
}
mysqli_close($stmt);
mysqli_close($link);
【问题讨论】:
-
好的,这里没有明显的问题。你遇到了什么错误?
-
我将代码更改为@TheValyreanGroup 建议的内容。当我提交表单时,屏幕上没有任何内容。我进行了测试,表单数据通过就好了,所以问题一定出在我发布的内容中。
-
当我使用 php 命令调试我的程序时,我没有收到任何错误。我在远程服务器上运行 linux。提交后,我所有的 html 元素都可以正确显示。有没有办法检查我的查询中的错误?