【发布时间】:2013-11-30 00:23:03
【问题描述】:
我想稍微优化这部分代码以使用诸如 $_SESSION['user']= $arr; 这样的数组。
// Store user db info in session for use
$stmt = $mysqli->prepare("SELECT id,user,pass,email,timezone,lastIP,currIP,dtLastLogin,dtCurrLogin FROM test_users WHERE user = ?");
// bind params
$stmt->bind_param('s', $user);
// execute prepared statement
$stmt->execute();
// Bind result variables
$stmt->bind_result($_SESSION['id'], $_SESSION['user'], $_SESSION['pass'], $_SESSION['email'], $_SESSION['timezone'], $_SESSION['lastIP'], $_SESSION['currIP'], $_SESSION['dtLastLogin'], $_SESSION['dtCurrLogin']);
// fetch values
$stmt->fetch();
// close statement
$stmt->close();
我尝试使用:
$rs = $stmt->get_result();
$arr = $rs->fetch_all(MYSQLI_ASSOC);
// close statement
$stmt->close();
//store array into session
$_SESSION['user']= $arr;
但我收到了对未定义方法 mysqli_stmt::get_result() 的调用。我正在运行 php 5.3.8 和 MySQL 5.1.70-cll。
【问题讨论】:
标签: php mysql mysqli prepared-statement