我的数据库名称是'cart'。 表名称是“产品”。 行是'id','name','image','price'。
我收到此错误。
警告:mysqli_stmt_bind_param():变量数与第9行E:\ xammp \ htdocs \ cart \ cart.php中已准备好的语句中的参数数不符
代码在这里
<?php
$connect = mysqli_connect('localhost', 'root', '', 'cart');
$query = "SELECT * FROM `products`";
$stmt = mysqli_prepare($connect, $query);
if($stmt){
mysqli_stmt_bind_param($stmt, 'issi', $id, $name, $image, $price);
mysqli_stmt_bind_result($stmt, $id, $name, $image, $price);
mysqli_stmt_execute($stmt);
while(mysqli_stmt_fetch($stmt)){
echo "<pre>";
echo $id;
echo "</pre>";
}
}
有人可以帮忙吗?
答案 0 :(得分:1)
首先,请不要使用“选择*”,而应始终选择列。
取消注释以下行:
mysqli_stmt_bind_param($stmt, 'issi', $id, $name, $image, $price);
在绑定结果中不需要参数。
如果您要绑定的SELECT语句中有任何参数,则可以使用mysqli_stmt_bind_param(....),但在这里是不可能的,因此会出现此错误。
此处有更多信息:http://php.net/manual/de/mysqli-stmt.bind-result.php
答案 1 :(得分:0)
如我所见,您没有在查询中使用任何绑定参数,例如“ SELECT * FROM product WHERE price =?AND id =?”