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

wywoływanie zagnieżdżonej procedury składowanej z php

Z PHP patrzysz tylko na PIERWSZY zestaw wyników. Z wiersza poleceń po prostu wypluwa wszystkie zestawy wyników.

Każde zapisane wywołanie proc, które masz powyżej, generuje nowy unikalny zestaw wyników (możliwe różne pola itp.)

Aby to naprawić, możesz przejść do następnego zestawu wyników, jeśli taki istnieje:

Użyj odbc_next_result ( resource $result_id )

Alternatywnie, używając Mysqli, możesz użyć tych trzech poleceń:

$result =$connection->multi_query("wybierz * z foo....");$result =$connection->store_result();$connection->next_result();

Używając kodu jako przykładu, możesz owinąć kod, który generuje wyniki w pętli do..while w następujący sposób:

$result= $mysqli->multi_query("SELECT first_id,second_id from pair_find");

do {
  $result = $mysqli->store_result();

  while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
  {
     print_r($row);
  }
} while ($mysqli->next_result());

http://php.net/manual/en/function.odbc -next-result.php

http://php.net/manual/en/mysqli.next-result .php




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz tabelę MySQL ze zmienną PHP

  2. MYSQL pokazuje 0, nawet jeśli wyniki nie istnieją

  3. Połącz się ze zdalną bazą danych MySQL z kontenera docker

  4. Funkcja MySQL password() do PHP

  5. Jak zamienić to zapytanie MySQL SELECT w zapytanie DELETE?