我收到错误,我无法找出它为什么会给我这个错误。我一直在看http://php.net/manual/en/mysqli-stmt.bind-param.php,而我可以找到的是我使用正确的代码。我从SO上的帖子收到了这段代码。这是有问题的代码。
$con = mysqli_connect($server,$username,$password,$database);
if (!$con){
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,$database);
$id=$_GET['id'];
if($data = mysqli_prepare($con, 'SELECT * FROM cypg8_overzicht WHERE id="?"'))
{
mysqli_stmt_bind_param($data, "s", $id);
mysqli_stmt_execute($data);
$data2 = mysqli_stmt_fetch($data);
}
我收到的错误如下:
警告:mysqli_stmt_bind_param():变量数与第33行中预准备语句中的参数数不匹配。第33行:
mysqli_stmt_bind_param($data, "s", $id);
非常感谢任何帮助。
编辑1 < ==错误消失了 正如您的Common Sence所建议的,我需要删除WHERE部分中的引号。我做了,现在错误消失了。 Jippiejay。
答案 0 :(得分:0)
不要引用占位符
'SELECT * FROM cypg8_overzicht WHERE id=?'