不够聪明,修复mysql_fetch_array()需要参数1

时间:2014-04-09 05:11:40

标签: php

我花了好几个小时试图遵循编码员的所有好建议,试图解决这个问题。我知道这是50个其他帖子的副本,但找不到足够接近我的任何代码来修复它。我是PHP的新手,并且在网站上有一个无法更新的旧电子商务购物车。请不要因为我的无知而激怒我。有人可以给我关于如何解决这个问题的确切说明。提前致谢!

我只是直接从文件中复制了代码。我没有添加所有的@。

错误:

mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/xxx /public_html/vsadmin/inc/mod/text.php on line 18

来自test.php的代码

 <?php
    $cat = @$_GET['cat']; // Current Category ID
    if(trim(@$_GET['cat'])!='') $theid = unstripslashes(@$_GET['cat']);
    if(@$explicitid!='' && is_numeric(@$explicitid))
    $theid=@$explicitid;
    elseif(@$usecategoryname && $theid!=''){
    $sSQL = 'SELECT sectionID FROM sections WHERE '.getlangid('sectionName',256)."='".escape_string($theid)."'";
    $result = mysql_query($sSQL) or print(mysql_error());
    if($rs=mysql_fetch_assoc($result)){ $catname=$theid; $theid=$rs['sectionID']; }
    mysql_free_result($result);
    }
    $cat = $theid;
    $queryrank="SELECT * from sections WHERE sectionID= '" . $cat . "' ";
    $resultrank=mysql_query($queryrank);
    ?>
    <?php
    while ($sSQL =mysql_fetch_array ($resultrank))//<< line 18
    {
    $text = $sSQL['cattext'];
    $html = $sSQL['cathtml'];
    $optiom = $sSQL['catoption'];
    if($sSQL['catoption']==1) {print "$text ";}
    else print "$html";
    }
 ?>

1 个答案:

答案 0 :(得分:0)

我在代码中看到的唯一mysql_fetch_array

while ($sSQL =mysql_fetch_array ($resultrank) )

因此,$resultrank=mysql_query($queryrank);必须生成false

问题,您的查询$queryrank="SELECT * from sections WHERE sectionID= '" . $cat . "' "; 会引发错误。

回显mysql_error,你就知道错了什么。

并且,如果可以,使用mysql函数停止,它们将被删除。请改用mysqli或PDO。