bind_param()的PHP问题;

bind_param()的PHP问题;,php,mysqli,Php,Mysqli,您好,我对PHP不太熟悉,当我尝试执行我的查询时,我遇到了这个错误 警告: 警告:mysqli_stmt::bind_param:变量的数量与中prepared语句中的参数数量不匹配 /第10行的Users/site/userpanel.php 代码: 提前谢谢 您必须使用如下占位符: $query="SELECT SUM(gebruiker_id) AS totalitems FROM inventory WHERE gebruiker_id = ?"; $stmt = $db->pre

您好,我对PHP不太熟悉,当我尝试执行我的查询时,我遇到了这个错误

警告:

警告:mysqli_stmt::bind_param:变量的数量与中prepared语句中的参数数量不匹配 /第10行的Users/site/userpanel.php

代码:


提前谢谢

您必须使用如下占位符:

$query="SELECT SUM(gebruiker_id) AS totalitems FROM inventory WHERE gebruiker_id = ?";
$stmt = $db->prepare($query);
$stmt->bind_param("s", $items);
$stmt->execute();
$result = $stmt->bind_result($col1);

有时您不需要绑定:

$query="SELECT SUM(gebruiker_id) AS totalitems FROM inventory WHERE gebruiker_id = 1";
$stmt = $db->prepare($query);
//$stmt->bind_param("s", $items);
$stmt->execute();
$result = $stmt->bind_result($col1);


但如果您试图将$items绑定到gebruiker_id,请按照@rizier123-answer进行操作。

谢谢您的帮助!如果我使用?作为占位符,结果将是1,而它必须是8,因为gebruiker_id在其中8times@J.Koppen不客气!祝你有一个愉快的一天:顺便说一句:你可以接受的答案是如何帮助你最大和解决你的问题!你是男人!只是它没有解决我的问题。它应该返回8,因为我的表中有8行的gebruiker_id为1。@J.Koppen,您确定$items为1,并且您也打印了_r$result;?我想你想使用count当我打印$items时,它什么也不给我,当我打印$result时,它给我1在代码和/或数据库中混合语言被认为是一个设计缺陷。让我解释一下。我必须总结gebruiker_id 1在表项中的次数,即8,然后结果必须是8。@J.Koppen use COUNT
$query="SELECT SUM(gebruiker_id) AS totalitems FROM inventory WHERE gebruiker_id = 1";
$stmt = $db->prepare($query);
//$stmt->bind_param("s", $items);
$stmt->execute();
$result = $stmt->bind_result($col1);
$query="SELECT SUM(gebruiker_id) AS totalitems FROM inventory WHERE gebruiker_id = 1";
$stmt = $db->query($query);
$result = $stmt->bind_result($col1);