-2

可能重复:
mysql_fetch_array() 期望参数 1 是资源,选择中给出的布尔值

你好请帮我解决这个问题

<?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);

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

4

1 回答 1

2

当您的查询失败时会导致该错误。当mysql_query()失败时,它返回一个 boolean false,而不是 a 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/

于 2012-11-11T02:20:04.293 回答