我不明白为什么会这样,请帮帮我!感谢。
这是我的代码:
$sql1 = mysql_query("SELECT * FROM subcategory WHERE category_id = $currentCategory ORDER BY display_name ASC");
$subCatHtml = '<li class="'.($currentSubCategory == '' ? 'active' : '').'"><a href="?c='.$currentCategory.'">All</a></li>';
$scCount = mysql_num_rows($sql1); // count the output amount
while ($row = mysql_fetch_array($sql1)) {
$subCatHtml .= '<li class="'.($row["id"]==$currentSubCategory ? 'active' : '').'"><a href="?c='.$currentCategory.'&s='.$row["id"].'">'.$row["display_name"].'</a></li>';
}
这是错误:
警告:mysql_num_rows()期望参数1为资源,第17行/home/content/21/11311721/html/product_display_inlcude.php中给出布尔值
警告:mysql_fetch_array()要求参数1为资源,布尔值在第18行的/home/content/21/11311721/html/product_display_inlcude.php中给出
答案 0 :(得分:0)
你的sql语法有错误,所以mysql_query返回false
。
试试这个:
$sql1 = mysql_query("SELECT * FROM subcategory WHERE category_id = $currentCategory ORDER BY display_name ASC") or die(mysql_error());
并检查您有哪些错误。
小心:
请不要再使用mysql_ *函数并切换到mysqli_ *函数。此外,您应该在将它们插入sql-query之前转义它们。
答案 1 :(得分:0)
您的查询有问题
"SELECT * FROM subcategory WHERE category_id = $currentCategory ORDER BY display_name ASC"
检查
答案 2 :(得分:0)
请检查您与数据库的连接。 此外,如果category_id不是整数,则应将$ category_id括在引号
中SELECT * FROM subcategory WHERE category_id = '$currentCategory' ORDER BY display_name ASC