我想使用$_POST['formID']
中的数组显示客户刚订购的所有商品。
数组中的值是正确的,但我得到错误:
警告:mysqli_fetch_array()期望参数1为mysqli_result, 给出的布尔值 /customers/b/3/d/kildemarkskolen2.dk/httpd.www/Indkoeb/order.php on 第146行
有什么建议吗?
$array = $_POST['formID'];
$MatID = implode(",", $array);
echo "Imploded " . $MatID . "<br>";
$query5 = "SELECT * FROM UVmaterialeT
INNER JOIN SerieT
ON SerieT.SerieID=UVmaterialeT.SerieID
JOIN MaterialeTypeT
ON MaterialeTypeT.TypeID=UVmaterialeT.TypeID
WHERE UVmaterialeT.UVmaterialeID IN ".$MatID."
ORDER BY SerieT.SerieID, UVmaterialeT.Klassetrin";
答案 0 :(得分:4)
您需要在以下行中进行更改
WHERE UVmaterialeT.UVmaterialeID IN ".$MatID." line
到
WHERE UVmaterialeT.UVmaterialeID IN (".$MatID.")
并且您的$MatID
采用以下格式
$MatID=('1','2','3')
答案 1 :(得分:1)
错过了生成的()
周围IN
的{{1}} -
string
如果值不是整数,则正确添加WHERE UVmaterialeT.UVmaterialeID IN (".$MatID.")
。
'
条件是 -
$MatID = implode("','", $array);
答案 2 :(得分:0)
如果$MatID
是单个值,您可以使用=
代替IN
:
WHERE UVmaterialeT.UVmaterialeID = ".$MatID."
如果是值列表,则应使用()
:
WHERE UVmaterialeT.UVmaterialeID = (".$MatID.")