mysqli_stmt_bind_param不返回任何反馈

时间:2014-03-21 17:47:48

标签: mysqli prepared-statement

我正在尝试catch the error that an unsuccessful bind statement result in,这就是我故意不将类型传递给mysqli_stmt_bind_param()函数的原因。请参阅下面的代码段

$email = 'test@test.com';
$password = 'password';
if (!(mysqli_stmt_bind_param($stmt , '' , $email, $password))) {
    echo "Binding parameters failed: (" . mysqli_stmt_errno($stmt) . ") " . mysqli_stmt_error($stmt) . "<br>";
}

但是,mysqli_stmt_errno返回0而mysqli_stmt_error()返回一个空字符串。

PHP发出警告说Warning: mysqli_stmt_bind_param(): Invalid type or no types specified in C:\wamp\www\test\database1.php on line 28为什么我没有收到数据库的反馈?

2 个答案:

答案 0 :(得分:1)

因为绑定与数据库无关。

答案 1 :(得分:0)

绑定参数与execute语句一起发送,而不是之前发送。绑定和执行发生在单个SQL语句中,即使它有2个PHP函数。只有在execute语句运行之后,数据库才能提供有关不成功绑定的反馈。希望这可以帮助任何可能想知道相同的人。