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

mysqli flere forespørgsler - sæt variabel producerer boolesk fejl/hvordan springer man dette over?

Det er fordi mysql_query funktion vil kun acceptere én forespørgsel, men du har givet den to, adskilt af et semikolon. Prøv enten:

  1. Kører hver forespørgsel separat (ved ikke om dette vil virke):

    mysql_query( "SET @N=-1" );
    mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
    
  2. Brug af mysqli med multi_query funktion (eller en PDO tilsvarende, hvis der er en).

For at besvare dit opdaterede spørgsmål:tjek PHP-manualsiden for multi_query. Jeg tror, ​​du vil bruge mysqli::next_result . Noget som dette, ved hjælp af procedurestil:

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. Sådan bruges DISTINCT i SQL

  2. MySQL RAND() seed-værdier gentages næsten

  3. Sådan fungerer GET_FORMAT() i MariaDB

  4. $result =mysql_query()