MySQLi准备错误

时间:2013-03-02 05:37:12

标签: php mysqli

mysqli_stmt_error() expects parameter 1 to be mysqli_stmt, null given
mysqli_stmt_fetch() expects parameter 1 to be mysqli_stmt, null given 

我一直试图解决这个问题很长一段时间。有谁能看到这个问题?我非常怀疑$ db是问题,因为我登录后需要访问$ db才能创建会话。我也有一个mysqli_connect_error();在此代码之前。

$per_prep = mysqli_prepare($db, 'select Permissions from Chatpermissions where Uid = ? and Chatid = ?');

mysqli_stmt_bind_param($per_prep, 'ii', $uid, $chatroomid);
mysqli_stmt_execute($per_prep);

mysqli_stmt_bind_result($per_prep, $permission);
mysqli_stmt_error($perprep);
mysqli_stmt_fetch($permission);

mysqli_stmt_close($room_prep);

我在工作台中测试了查询并提取了结果。

2 个答案:

答案 0 :(得分:0)

当你将stmt分配给$ per_prep时,你应该使用相同的变量名称,而不是$ perprep。

$per_prep = mysqli_prepare(...);
. . .
mysqli_stmt_error($perprep);  // wrong variable name here

此外,fetch函数接受语句的参数,而不是您尝试将结果绑定到的变量。

mysqli_stmt_fetch($permission);

应该是:

mysqli_stmt_fetch($per_prep);

答案 1 :(得分:0)

更改

mysqli_stmt_error($perprep);
mysqli_stmt_fetch($permission);

mysqli_stmt_error($per_prep);
mysqli_stmt_fetch($per_prep);