Re: multi_query "Commands out of sync" after Insert

From: Date: Sat, 12 Jan 2008 12:20:51 +0000
Subject: Re: multi_query "Commands out of sync" after Insert
References: 1  Groups: php.db php.db 
Request: Send a blank email to php-db+get-44513@lists.php.net to get a copy of this message
J. Hill escreveu:
I wouldn't think there would be a result set from a mysqli multi_query when the query is a group of insert statements (there is no auto_increment column), but I get a "commands out of sync" error on my next query. Originally, I had:
      foreach ( . . . .
                  $sql. = "insert into psc (pid, lft, rgt) values ($pid, $lft, $rgt);";
     }
     if(!$mysqli->multi_query($sqlgeo)) {
              echo $mysqli->error;
     }
     . . . [next sql statement, which fails with the "commands out of sync" error]
Now, the only solution I've found is to change my simple multi_query to:
       if($mysqli->multi_query($sqlgeo)) {
              do{if($result=$mysqli->store_result()){$result->close();}} while($mysqli->next_result());
       }else{
               echo $mysqli->error;
       }
It seems like there should be a better solution than my current one? Thanks for any suggestions, Jeff Using PHP 5.2.3, MySQL standard-5.0.27 on Debian Etch
Hi Take a look here: http://www.rooftopsolutions.nl/article/173 An empty result set may cause the error. Beste regards holo

« previous php.db (#44513) next »