gpt4 book ai didi

php - 为什么我无法使 bind_result 正常工作并将某些值分配给 session ?

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

我做了一个准备好的声明,应该登录一个用户,一切正常,但我遇到了 bind_result() 的问题。我的意思是它根本不起作用,我无法获取查询结果并将其分配给 SESSION

这是我的代码:

session_start();
$sesUsername = "";
$sesCid = "";
$sesFirstName = "";
$sesLastName = "";
$mysqli = new mysqli($host_l, $username_l, $password_l, $dbName_l);
$loginQuery = "SELECT username, cid, first_name, last_name FROM Users WHERE username=? and password=?";
if($stmt = $mysqli->prepare($loginQuery)){
$stmt->bind_param('ss',$usernameEsc, $passwordEsc);
$stmt->execute();

/* Store the result (to get properties) */
$stmt->store_result();

/* Get the number of rows */
$num_of_rows = $stmt->num_rows;

/* Bind the result to variables */
$stmt->bind_result($sesUsername, $sesCid, $sesFirstName, $sesLastName);

if($num_of_rows == 1){
$_SESSION['username']= $sesUsername; // This is not working
return true;
}
else {
http_response_code(401);
}

/* free results */
$stmt->free_result();

/* close statement */
$stmt->close();
}
/* close connection */
$mysqli->close();

代码将我重定向到成员(member)区,但那里的 session 变量 username 是空的。

为什么我无法让它工作?我知道我遗漏了一些非常小的东西,但作为新手,我无法发现问题。

最佳答案

你必须做的:

$stmt->fetch();

将结果放入变量中。

关于php - 为什么我无法使 bind_result 正常工作并将某些值分配给 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197373/

25 4 0
文章推荐: iOS 消息发送到已释放的实例
文章推荐: java - 如何按长字段对 List 进行排序