gpt4 book ai didi

php - MySQLi 查询准备和检索结果

转载 作者:行者123 更新时间:2023-11-29 07:54:07 25 4
gpt4 key购买 nike

我已经浏览了相当多的 stackoverflow 线程,但在准备查询后我根本无法正确检索结果。我尝试了多种不同的解决方案,但在执行查询后似乎都无法获取关联数组

    $mysqli = new MySQLi('localhost', 'root', '', 'prac2');
$query = $mysqli-> prepare("SELECT * FROM `user` WHERE username=? and password=?");
$query-> bind_param('ii', $username, $password);
if($query-> execute()) {
$query->store_result();
if ($query -> num_rows > 0) {
$result = $mysqli->query($query);
$r = $result -> fetch_array(MYSQLI_ASSOC)['userid'];
$_SESSION['userid'] = $r;
}
}

我已经确定有时结果包含成功的 bool 值,但我仍然不确定我到底做错了什么。

更新:

好的,bind_param 现在可以工作,但是 fetch_assoc 一直给我错误“调用非对象上的成员函数 fetch_assoc()”,我什至测试结果以确保它返回 true。

$mysqli = new MySQLi('localhost', 'root', '', 'prac2');
$query = $mysqli->prepare("SELECT * FROM user WHERE username=? and password=?");
echo $mysqli->error;
$query-> bind_param('ss', $username, $password);
if($query->execute()) {
$result = $query -> store_result();
if($result) {
while($row = $result -> fetch_assoc()){
echo $row['userid'];
$_SESSION['userid'] = $row['userid'];
}
}
}

最佳答案

用户名和密码是字符串,应该是's',表示对应的变量具有字符串类型。我不明白用户名和密码如何是整数。 Bind Param Types

   $query-> bind_param('ss', $username, $password);

关于php - MySQLi 查询准备和检索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25603934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com