sql >> Database >  >> RDS >> Mysql

PHP-commando's niet synchroon fout

In mysqli::query Als u MYSQLI_USE_RESULT gebruikt, zullen alle volgende oproepen een fout retourneren. Opdrachten lopen niet synchroon, tenzij u mysqli_free_result() aanroept

Wanneer u meerdere opgeslagen procedures aanroept, kunt u de volgende fout tegenkomen:"Opdrachten lopen niet synchroon; u kunt deze opdracht nu niet uitvoeren". Dit kan zelfs gebeuren wanneer de functie close() op het resultaatobject tussen aanroepen wordt gebruikt. het probleem, vergeet niet om de functie next_result() op het mysqli-object aan te roepen na elke opgeslagen procedure-aanroep. Zie voorbeeld hieronder:

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

Ik hoop dat dit zal helpen



  1. Een lijst met alle talen in SQL Server (T-SQL) krijgen

  2. Hoe XML-bestand importeren in Oracle SQL Developer?

  3. Kolomgrootte wijzigen in MySQL

  4. Een tekenreeks converteren naar een datum/tijd in SQL Server met CONVERT()