我直接从php手动示例中获取了这个示例——它几乎与我所需要的完全相同,但我仍然会遇到这个错误。
有人能告诉我我缺了什么吗?
$stmt = $link->prepare("SELECT obitBody, Photo FROM tnObit WHERE obitID = ?");
if ($stmt->execute(array($_POST['obitID']))) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
mysqli_stmt::execute()需要0个参数,中给出1个
execute
(基于对象的,与较旧的不太受欢迎的变体相反)实际上不接受任何参数。
从您的查询和尝试的参数到execute
,看起来您正试图将所需的参数作为数组传递给execute
调用。事情并非如此。
在调用execute
之前,您需要在单独的调用中将变量绑定到?
标记。
这个问题(一旦得到公认的答案)显示了你需要遵循的一般过程:
- create语句
- 编制报表
- 绑定参数
- execute(使用无参数)
- 存储结果(如果缓冲)
- 绑定结果变量
- fetch(很可能在循环中)
- 结束语