sql >> Databáze >  >> RDS >> Mysql

vícenásobné dotazy mysqli - nastavená proměnná vytváří booleovskou chybu / jak to přeskočit?

Je to proto, že mysql_query funkce přijme pouze jeden dotaz, ale zadali jste dva, oddělené středníkem. Zkuste buď:

  1. Spuštění každého dotazu samostatně (nevím, jestli to bude fungovat):

    mysql_query( "SET @N=-1" );
    mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
    
  2. Pomocí mysqli pomocí multi_query funkce (nebo CHOP ekvivalentní, pokud existuje).

Chcete-li odpovědět na vaši aktualizovanou otázku:podívejte se na manuálovou stránku PHP pro multi_query. Myslím, že budete chtít použít mysqli::next_result . Něco takového s použitím procedurálního stylu:

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);
}


  1. Denní zálohování databáze pomocí Cron Job

  2. Jak změnit tabulku na serveru SQL Server pomocí příkazu Alter - SQL Server / Výukový program T-SQL, část 35

  3. 4 důvody, proč byste měli ve svém plánování na rok 2020 upřednostňovat monitorování databáze

  4. Dopad definice sloupce VARCHAR2 s větší délkou