pdt脚本不会从db中选择

时间:2013-10-10 05:23:07

标签: php database paypal eclipse-pdt

我有产品名称,想要选择下载路径。根据它,我得到一个错误

  

警告: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;
?>

2 个答案:

答案 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();将其声明为数组。

并使用PDOmysqli,因为mysql已弃用,并且在以后的版本中不受支持