【发布时间】:2013-10-05 12:59:37
【问题描述】:
请看PHP代码:
$val = $_POST['name'];
$stmt = $mysqli->stmt_init();
$stmt->prepare("SELECT id, name, email FROM some_table WHERE name LIKE ?%");
$stmt->bind_param('s', $val);
$stmt->execute();
当我运行这个查询时;我收到以下错误: 警告:mysqli_stmt::bind_param(): 无效的对象或资源 mysqli_stmt
这里有什么问题?
【问题讨论】:
-
你没有检查返回值;我还建议使用 mysqli_error 来查看实际错误是什么。猜测一下,我会说查询中的
?%是错误的,并且%应该是$val的一部分 -
%是绑定值的一部分,而不是准备好的查询的一部分