-4

我不明白为什么会这样,请帮助我!谢谢。

这是我的代码:

$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 是资源,布尔值在 /home/content/21/11311721/html/product_display_inlcude.php 第 18 行给出

4

3 回答 3

0

请检查您与数据库的连接。此外,如果 category_id 不是整数,则应将 $category_id 括在引号中

SELECT * FROM subcategory WHERE category_id = '$currentCategory' ORDER BY display_name ASC
于 2013-07-28T12:52:28.280 回答
0

您的 sql-syntax 中有错误,因此 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 查询之前转义它们。

于 2013-07-28T12:48:29.030 回答
0

您的查询有问题

"SELECT * FROM subcategory WHERE category_id = $currentCategory ORDER BY display_name ASC"

检查Case-Sensivity表名列名以查找错误

于 2013-07-28T12:50:06.503 回答