Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd synchronizacji poleceń PHP

W mysqli::query Jeśli użyjesz MYSQLI_USE_RESULT, wszystkie kolejne wywołania zwrócą błędy Niezsynchronizowane polecenia, chyba że wywołasz mysqli_free_result()

Podczas wywoływania wielu procedur składowanych możesz napotkać następujący błąd:„Polecenia nie są zsynchronizowane; nie można teraz uruchomić tego polecenia”. Może się to zdarzyć nawet w przypadku użycia funkcji close() w obiekcie wynikowym między wywołaniami. Aby naprawić problem, pamiętaj, aby wywołać funkcję next_result() obiektu mysqli po każdym wywołaniu procedury składowanej. Zobacz przykład poniżej:

<?php
// New Connection
$db = new mysqli('localhost','user','pass','database');

// Check for errors
if(mysqli_connect_errno()){
 echo mysqli_connect_error();
}

// 1st Query
$result = $db->query("call getUsers()");
if($result){
     // Cycle through results
    while ($row = $result->fetch_object()){
        $user_arr[] = $row;
    }
    // Free result set
    $result->close();
    $db->next_result();
}

// 2nd Query
$result = $db->query("call getGroups()");
if($result){
     // Cycle through results
    while ($row = $result->fetch_object()){
        $group_arr[] = $row;
    }
     // Free result set
     $result->close();
     $db->next_result();
}
else echo($db->error);

// Close connection
$db->close();
?>

Mam nadzieję, że to pomoże



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Szukaj z wartością oddzieloną przecinkami mysql

  2. MySQL Wstawić do wielu tabel? (Normalizacja bazy danych?)

  3. Co to jest SQL? Co to jest baza danych? Systemy zarządzania relacyjnymi bazami danych (RDBMS) wyjaśnione w prostym języku angielskim.

  4. Jak włączyć powolny dziennik zapytań w MySQL?

  5. Pierwsza kolumna o wyższej kardynalności w indeksie, gdy dotyczy zakresu?