sql >> Base de Datos >  >> RDS >> Mysql

Consultas múltiples de mysqli:establecer la variable produce un error booleano/¿cómo omitir esto?

Es porque mysql_query La función solo aceptará una consulta, pero le ha dado dos, separadas por un punto y coma. Prueba con:

  1. Ejecutando cada consulta por separado (no sé si esto funcionará):

    mysql_query( "SET @N=-1" );
    mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
    
  2. Usando mysqli con multi_query función (o un PDO equivalente si lo hay).

Para responder a su pregunta actualizada:consulte la página del manual de PHP para multi_query. Creo que querrás usar mysqli::next_result . Algo como esto, usando estilo procedimental:

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