【发布时间】:2016-10-31 02:08:01
【问题描述】:
我正在尝试检查从cookie中检索到的id是否存在于数据库中,但这部分代码
$stmt->bind_result($id, $uname);
和
$username = $uname;
根据这个说未定义的变量我应该没有问题
http://php.net/manual/en/mysqli-stmt.bind-result.php
在zend 中给我一个警告错误。条件下的赋值。如果 stmt->bind_result 对 mysqli 也是正确的,我也不知道。
/**
* Decode cookies and extract user ID
*/
$decryptCookieData = base64_decode($_COOKIE['rememberUserCookie']);
$user_id = explode("UaQteh5i4y3dntstemYODEC", $decryptCookieData);
$userID = $user_id[1];
/**
* check if id retrieved from the cookie exist in the database
* */
$db = dbconnect();
$stmt = $db->prepare('SELECT id, username FROM users WHERE id = ?');
$id = $userID;
$stmt->bind_param('i', $id);
$id = $userID;
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $uname);
if ($stmt->fetch()) {
$uid = $id;
$username = $uname;
/**
* Create the user session variable
*/
$_SESSION['id'] = $uid;
$_SESSION['username'] = $uname;
$isValid = true;
【问题讨论】: