【发布时间】:2012-02-02 11:55:26
【问题描述】:
我在脚本room.php 中运行两个查询。两者都使用 MySQLi 的prepared statements,代码如下:
/* Get room name */
$stmt = $mysqli->prepare('SELECT name FROM `rooms` WHERE r_id=?');
$stmt->bind_param('i', $roomID);
$stmt->execute();
$stmt->bind_result($roomName)
/* Add this user to the room */
$stmt = $mysqli->prepare('INSERT INTO `room_users` (r_id, u_id) VALUES (?, ?)');
$stmt->bind_param('ii', $roomID, $_SESSION['userID']);
$stmt->execute();
当我运行脚本时,我得到了这个错误:
Fatal error: Call to a member function bind_param() on a non-object in C:\wamp\www\room.php on line 24
这是第二个查询。如果我从脚本中删除第一个查询,一切运行正常。同样,如果我删除第二个查询。这让我相信存在问题,因为我正在重用 $stmt 对象。如果我使用 $stmt2 尝试第二个查询,我仍然会收到错误消息。
我所有的数据库表和字段都存在,所以查询没有问题。
【问题讨论】: