PHP hataları ->

1 Cevap php

Bazı tabloları değiştirmeye çalışırken bu hatayı alıyorum. İşte benim kod:

/**  <- line 320
 *
 * @param array $guests_array
 * @param array $tickets_array
 * @param integer $seat_count
 * @param integer $order_count
 * @param integer $guest_count
 */
private function book_guests($guests_array, $tickets_array, &$seat_count, 
        &$order_count, &$guest_count){
/* @var $guests_array ArrayObject */
    $sucess = false;
    if(sizeof($guests_array) >= 1){
        //$this->mysqli->autocommit(FALSE);
        //insert the guests into guest, person, order, seat
        $menu_stmt = $this->mysqli->prepare("SELECT id FROM menu WHERE
                    name=?");
        $menu_stmt->bind_param('s',$menu);
        //$menu_stmt->bind_result($menu_id);

        $table_stmt = $this->mysqli->prepare("SELECT id FROM tables WHERE
                    name=?");
        $table_stmt->bind_param('s',$table);
        //$table_stmt->bind_result($table_id);

        $seat_stmt = $this->mysqli->prepare("SELECT id FROM seat WHERE
                    name=? AND table_id=?");
        $seat_stmt->bind_param('ss',$seat, $table_id);
        //$seat_stmt->bind_result($seat_id);
        for($i=0;$i<sizeof($guests_array);$i++){

            $menu = $guests_array[$i]['menu'];
            $table = $guests_array[$i]['table'];
            $seat = $guests_array[$i]['seat'];

            //get menu id
            if($menu_stmt->execute()){
                $menu_stmt->bind_result($menu_id);
                while($menu_stmt->fetch())
                        ;
            }
            $menu_stmt->close();

            //get table id
            if($table_stmt->execute()){
                $table_stmt->bind_result($table_id);
                while($table_stmt->fetch())
                        ;
            }
            $table_stmt->close();

            //get seat id
            if($seat_stmt->execute()){
                $seat_stmt->bind_result($seat_id);
                while($seat_stmt->fetch())
                        ;
            }
            $seat_stmt->close();

            $dob = $this->create_date($guests_array[$i]['dob_day'],
                    $guests_array[$i]['dob_month'],
                    $guests_array[$i]['dob_year']);
            $id = $this->add_person($guests_array[$i]['first_name'],
                    $guests_array[$i]['surname'], $dob,
                    $guests_array[$i]['sex']);

            if(is_string($id)){
                $seat = $this->add_seat($table_id, $seat_id, $id);
                /* @var $tickets_array ArrayObject */
                $guest = $this->add_guest($id,$tickets_array[$i+1],$menu_id,
                        $this->volunteer_id);
                /* @var $order integer */
                $order = $this->add_order($this->volunteer_id, $table_id,
                        $seat_id, $id);

                if($guest == 1 && $seat == 1 && $order == 1){
                    $seat_count += $seat;
                    $guest_count += $guest;
                    $order_count += $order;

                    $success = true;
                }
            }
        }
    }
    return $success;
} <- line 406

İşte uyarılar:

The person PRSN10500000LZPH has been added to the guest tablePRSN10500000LZPH added to table (1), seat (1)The order for person(PRSN10500000LZPH) is registered with volunteer (PRSN10500000LZPH) at table (1) and seat (1)PRSN10600000LZPH added to table (1), seat (13)The person PRSN10600000LZPH has been added to the guest tableThe order for person(PRSN10600000LZPH) is registered with volunteer (PRSN10500000LZPH) at table (1) and seat (13) Warning: mysqli_stmt::execute(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 358 Warning: mysqli_stmt::close(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 363 Warning: mysqli_stmt::execute(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 366 Warning: mysqli_stmt::close(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 371 Warning: mysqli_stmt::execute(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 374 Warning: mysqli_stmt::close(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 379 PRSN10700000LZPH added to table (1), seat (13)The person PRSN10700000LZPH has been added to the guest tableThe order for person(PRSN10700000LZPH) is registered with volunteer (PRSN10500000LZPH) at table (1) and seat (13) Warning: mysqli_stmt::execute(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 358 Warning: mysqli_stmt::close(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 363 Warning: mysqli_stmt::execute(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 366 Warning: mysqli_stmt::close(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 371 Warning: mysqli_stmt::execute(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 374 Warning: mysqli_stmt::close(): Couldn't fetch mysqli_stmt in /Users/olatunjigbadamosi/Sites/ST_Ambulance/FormDB.php on line 379 PRSN10800000LZPH added to table (1), seat (13)The person PRSN10800000LZPH has been added to the guest tableThe order for person(PRSN10800000LZPH) is registered with volunteer (PRSN10500000LZPH) at table (1) and seat (13)

1 Cevap

Ben bu şekilde çalışacağını sanmıyorum. Eğer deyimi kapattığınızda (örneğin $menu_stmt->close();) da deyim tanıtıcısı ayırması. Yani döngü ikinci kez artık birlikte çalışmak için kullanılabilir hazırlanmış deyimleri yok.

Döngü yürütme bittikten sonra ifadeleri kapatmayı deneyin.