Php 准备好的查询在尝试查找用户时未返回预期结果
在phpMyAdmin中执行此操作时,我有一个结果:Php 准备好的查询在尝试查找用户时未返回预期结果,php,prepare,Php,Prepare,在phpMyAdmin中执行此操作时,我有一个结果: SELECT password, block FROM jml_users WHERE username = "user01" 但是,在我的PHP代码中,脚本找不到我的用户。我是否在使用$stmt->bind_param(“s”,“不安全用户”) 我还尝试了$stmt->bind_param(“s”,“user01”)store_result(),否则num_rows将无法处理准备好的语句在$stmt->execute()之后 检查文档中
SELECT password, block FROM jml_users WHERE username = "user01"
但是,在我的PHP代码中,脚本找不到我的用户。我是否在使用$stmt->bind_param(“s”,“不安全用户”)代码>
我还尝试了$stmt->bind_param(“s”,“user01”)没有运气
<?
include("dbinfo.php");
$unsafe_user = "user01";
$mysqli = new mysqli($loginURL, $dbusername, $dbpassword, $database);
LoginCheck();
// Kill connection
$thread_id = $mysqli->thread_id; // determine our thread id
$mysqli->kill($thread_id);
$mysqli->close();
function LoginCheck()
{
global $mysqli, $unsafe_user;
//Perpare Statement.
//if($stmt = $mysqli->prepare("SELECT password, block FROM jml_users WHERE (username) VALUES (?)")) // this returns false for some reason
if($stmt = $mysqli->prepare("SELECT password, block FROM jml_users WHERE username = ?")) //works, still safe form sql injection?
{
$stmt->bind_param("s", $unsafe_user);
$stmt->execute();
$stmt->bind_result($dbpw, $bdblock);
if($stmt->num_rows == 0)
{
echo "could not find user";
}
// Found user
else
{
echo "found user";
}
$stmt->close();
}
else
{
echo "Statement creation did not succeed";
}
}
?>
您注释掉的第一个查询是无效的MYSQL语法。这种类型的语法用于插入
此外,除非使用$stmt->store_result(),否则num_rows将无法处理准备好的语句代码>在$stmt->execute()之后代码>
检查文档中的答案。您注释掉的第一个查询是无效的MYSQL语法。这种类型的语法用于插入
此外,除非使用$stmt->store_result(),否则num_rows将无法处理准备好的语句代码>在$stmt->execute()之后代码>
检查文档中的答案。Hi@Bluestrike。感谢您将问题标记为已解决,但此处不需要。相反,添加您使用的解决方案(或要求评论者这样做,以便他们获得分数),然后勾选它以将其从未答复列表中删除。如果你愿意,你可以在自己回答的问题上打勾。嗨@Bluestrike。感谢您将问题标记为已解决,但此处不需要。相反,添加您使用的解决方案(或要求评论者这样做,以便他们获得分数),然后勾选它以将其从未答复列表中删除。如果你愿意,你可以在自己回答的问题上打勾。