我有产品名称,想要选择下载路径。根据它,我得到一个错误
警告:mysql_num_rows()期望参数1是资源,在...中给出布尔值
就像没有这样的条目。
<?php
$keyarray=array('num_cart_items'=>2, 'item_name2'=>'5', 'item_name1'=>'6' );
$itemname='';
for ($i=1; $i<= $keyarray['num_cart_items'] ;$i++){
$itemname[]= $keyarray['item_name'.$i];};
foreach($itemname as & $var){
echo $var;
$sql = mysql_query("SELECT * FROM products WHERE product_name='$var' ");
$productCount = mysql_num_rows($sql); // count the output amount
$checkout_path ="";
if ($productCount > 0) {
// get path
$row = mysql_fetch_array($sql);
$path = $row["path"];
$checkout_path[]=array('path'=>$path);
echo $checkout_path;
}
}
//echo $checkout_path;
?>
答案 0 :(得分:0)
首先查看运行查询后是否有错误
echo mysql_errno() . ": " . mysql_error() . "\n";
关于结果,你可能有多个结果,所以你需要使用foreach循环来grt所有这些结果,如:
while ($row = mysql_fetch_array($sql)) {
}
另一个注意事项阻止使用 mysql_*
功能,因为:
自PHP 5.5.0起,此扩展程序已弃用,并将在中删除 未来。相反,应该使用MySQLi或PDO_MySQL扩展。
答案 1 :(得分:0)
在脚本开头,您已将$itemname='';
声明为字符串
然后将其用作数组$itemname[]= $keyarray['item_name'.$i];};
。
使用$itemname=array();
将其声明为数组。
并使用PDO
或mysqli
,因为mysql
已弃用,并且在以后的版本中不受支持