Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysqli multiple query - ustawianie zmiennej generuje błąd logiczny/jak to pominąć?

Dzieje się tak, ponieważ mysql_query funkcja zaakceptuje tylko jedno zapytanie, ale dałeś mu dwa, oddzielone średnikiem. Spróbuj:

  1. Uruchamianie każdego zapytania osobno (nie wiem, czy to zadziała):

    mysql_query( "SET @N=-1" );
    mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
    
  2. Korzystanie z mysqli z multi_query funkcja (lub PDO równoważne, jeśli istnieje).

Aby odpowiedzieć na twoje zaktualizowane pytanie:sprawdź stronę podręcznika PHP dla multi_query. Myślę, że będziesz chciał użyć mysqli::next_result . Coś takiego, używając stylu proceduralnego:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje sposób na pokazanie klauzuli WHERE tylko dla jednego pola w MySQL?

  2. Mysql - usuń z wielu tabel za pomocą jednego zapytania

  3. Przesyłanie wielu obrazów za pomocą Codeignitera, zapisującego tylko jedną ścieżkę pliku do bazy danych MySQL

  4. Jak dodać unikalny klucz do istniejącej tabeli (z wierszami nieunikatowymi)

  5. MySQL JEŻELI NIE NULL, to wyświetl 1, w przeciwnym razie wyświetl 0