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

时间:2012-09-08 11:41:12

标签: php mysql

我不是第一个在这里提出这个问题的人,但是认真地说,我在询问之前尝试了可能的重复。

这是我的代码: 更新了

 foreach ($pieces as $v) {
        $get_user ="SELECT * from demo_user WHERE user_name ='$v'";
        $result = mysql_query($get_user);
        if (!$result) {
             die(mysql_error());
        }
        while($row = mysql_fetch_array($result))
        {
            $GLOBAL_REST_URL = "http://192.168.0.100:9000/meeting/";
            $part_name = $row['user_name'];
            $participant = array("email"=>$row['primary_email'],
                    "contact_no"=>$row['primary_mobile'],
                    "password"=>$attendee_password,
                    );

            $LOCAL_REST_URL = $GLOBAL_REST_URL .$mtngid.'/participant/'.$row['user_name'] ;

           $json_part = array2json($participant);
           $curl_handle=curl_init();
           curl_setopt($curl_handle,CURLOPT_URL,$LOCAL_REST_URL);
           curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,20);

           curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, "POST");
           curl_setopt($curl_handle, CURLOPT_POSTFIELDS,$json_part);

           curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $headers);
           curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
           $buffer = curl_exec($curl_handle);
           curl_close($curl_handle);
           $getit_part =  json_decode($buffer, true);
           if ($getit_part['code'] == 200){
            $key = $getit_part['data'];

            $join_url = "http://192.168.0.100/UI/user/joinuser.php?meetingid=".$mtngid."&key=".$getit_part['data']; 
            $pr_mobile = $row['primary_mobile'];
            $pr_email = $row['primary_email'];
            $sql = "INSERT INTO demo_participant(name, 
                             meeting_id_id, 
                             password, 
                             user_view__url, 
                             `key`, 
                             contact_no,
                             email)
                        SELECT '$part_name', 
                               id, 
                               '$attendee_password',
                               '$join_url',
                                {$getit_part['data']},
                               '$pr_mobile',
                               '$pr_email'
                        FROM demo_meeting
                        WHERE meetingID = '$mtngid'";

            $result = mysql_query($sql) or die (mysql_error());
           }
          // $message = 'Hi '.$_GET['meeting_name'].',and associated participant Updated successfully ';
        }
        }

当我执行上面的代码时,我收到以下警告:

mysql_fetch_array() expects parameter 1 to be resource, boolean given in

print_r($pieces)输出:

Array
(
    [0] => Digvijay
    [1] => philip
    [2] => fake
)

请让我知道,我可能做错了什么。

2 个答案:

答案 0 :(得分:3)

使用您的代码,$result将不是布尔值。

如果mysql_query返回false,则程序应退出。

再次检查错误行。

更新

在阅读更新后的代码后,问题出在下面一行(在while循环结束时):

$result = mysql_query($sql) or die (mysql_error());

您正在覆盖变量$result

这是一个插入查询,所以你只需要这样做:

mysql_query($sql) or die (mysql_error());

答案 1 :(得分:1)

查询失败,您将“false”传递给fetch。那不可能是因为死亡;你没有展示真正的代码?

  • 不要使用mysql_ *函数
  • 将error_reporting置于
  • 在脚本中构建一些错误检查。