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

时间:2015-09-10 04:19:47

标签: mysql

我的$ result和$ result2是正确的,但是为什么会出现这个警告“mysql_fetch_array()期望参数1是资源,boolean在...中给出” 帮助我解决这个问题。 这是我的编码:

  

//捕获输入

       <?php
        //capture input
        $destination_name   = $_POST['destination_name'];
        $num_of_passenger   = $_POST['num_of_passenger'];
        $reserve_to     = $_POST['reserve_to'];
        $venue              = $_POST['venue'];
        $day                = $_POST['day'];
        $DepDate            = $_POST['DepartureDate'];
        $DepartureTime      = $_POST['DepartureTime'];
        $ReDate         = $_POST['ReturnDate'];
        $ReturnTime     = $_POST['ReturnTime'];
  

第3步:SQL语句(INSERT UPDATE DELETE VIEW)

        $result = mysql_query("INSERT INTO location (destination_code, destination_name) VALUES ('','$destination_name')");
        $new_row_id1 = mysql_insert_id();


        while($row=mysql_fetch_array($result))
        {
            $destination_name   = $row['destination_name'];
        }


        $result2 = mysql_query("INSERT INTO reservation (reservation_id, num_of_passenger, reserve_to, venue, day, DepartureDate, DepartureTime, ReturnDate, ReturnTime, destination_code, user_id) VALUES('','$num_of_passenger','$reserve_to','$venue','$day','$DepDate','$DepartureTime','$ReDate','$ReturnTime','$new_row_id1','$_SESSION[user_id]')"); 

    while($row2=mysql_fetch_array($result2))
    {
        $num_of_passenger   = $row2['num_of_passenger'];
        $reserve_to         = $row2['reserve_to'];
        $venue              = $row2['venue'];
        $day                = $row2['day'];
        $DepDate            = $row2['DepartureDate'];
        $DepartureTime      = $row2['DepartureTime'];
        $ReDate             = $row2['ReturnDate'];
        $ReturnTime         = $row2['ReturnTime'];

    }


        if (!$result2)
            {
                die ("Cannot Execute Query".mysql_error());
            }
            else
            {
                print "Reservation Complete";   
            }   

        ?>

1 个答案:

答案 0 :(得分:2)

参见文档:http://php.net/manual/en/function.mysql-query.php

  

对于其他类型的SQL语句, INSERT 更新删除 DROP 等, mysql_query ()成功时返回TRUE,错误时返回FALSE。

所以你的代码while($row2 = mysql_fetch_array($result2))$result2是一个表示true / false的布尔值。您需要使用不同的查询(SELECT)来获取迭代结果。