Mysql
 sql >> Database >  >> RDS >> Mysql

query multiple mysqli - la variabile impostata produce un errore booleano/come saltarlo?

È perché mysql_query funzione accetterà solo una query, ma ne hai fornite due, separate da un punto e virgola. Prova uno dei due:

  1. Esecuzione di ciascuna query separatamente (non so se funzionerà):

    mysql_query( "SET @N=-1" );
    mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
    
  2. Utilizzo di mysqli con multi_query funzione (o un DOP equivalente se ce n'è uno).

Per rispondere alla tua domanda aggiornata:controlla la pagina di manuale di PHP per multi_query. Penso che vorrai usare mysqli::next_result . Qualcosa del genere, usando lo stile procedurale:

mysqli_multi_query($link, $query);
mysqli_next_result($link);

if ($result = mysqli_store_result($link)) {
    while ($row = mysqli_fetch_row($result)) {
        printf("%s\n", $row[0]);
    }
    mysqli_free_result($result);
}