警告:mysql_fetch_array()要求参数1为resource,boolean给出

时间:2012-11-11 02:13:50

标签: php mysql sql

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

你好请帮我解决这个问题

<?PHP

if(isset($_GET["id"]))
    {
        $id= $_GET["id"];}

        echo $id;


    $user_name = "root";
    $password = "";
    $database = "test";
    $server = "127.0.0.1";

$db_handle = mysql_connect($server, $user_name, $password);

$db_found = mysql_select_db($database, $db_handle);

if ($db_found) {


$SQL = "SELECT location FROM core_network WHERE sub_cat= (".$id.")";
   $r=mysql_query($SQL);
    $i=0;
    while($data=mysql_fetch_array($r))
    {
        $result[$i]=$data['location'];
        $i++;
    }
    #print_r($result);

echo $ id;打印正常,我找不到问题所在 请帮我解决这个问题 非常感谢

1 个答案:

答案 0 :(得分:2)

查询失败时会导致该错误。当mysql_query()失败时,它返回一个布尔false,而不是resource,因此错误:

  

mysql_fetch_array()期望参数1为资源,布尔值为

要进行调试,请将语句更改为

$r = mysql_query($SQL) or die(mysql_error());

PS - 你不应该使用mysql_*。看看PDO。这是一个帮助您入门的链接:http://net.tutsplus.com/tutorials/php/php-database-access-are-you-doing-it-correctly/