Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP - MySQL mendapatkan nilai parameter keluar dari prosedur tersimpan

Atau bahkan cukup lakukan "SELECT @id AS id" lalu $row->id akan bekerja dengan baik. Saya selalu mengganti nama kolom pilih agar nama tetap bermakna bila perlu :-)

BTW, Anda cukup menggabungkan panggilan dan memilih @... (dengan pembatas pernyataan;) dan RS akan menjadi nilai yang dikembalikan. Sayangnya ini mengembalikan mutli-resultset dan Anda perlu menyiram set lengkap jika tidak, kueri berikutnya akan terhenti. Lihat contoh berikut:

$db->multi_query( "CALL addNewUser($name,$age,@id);SELECT @id as id" );
$db->next_result();            // flush the null RS from the call
$rs=$db->store_result();       // get the RS containing the id
echo $rs->fetch_object()->id, "\n";
$rs->free();

Atau tambahkan pilih ke dalam addNewUser dan kembalikan RS alih-alih keluar param

$rs = $db->query( "CALL addNewUser($name,$age)" );
echo $rs->fetch_object()->id, "\n";
$rs->close();
$db->next_result();            // flush the null RS from the call

Yang pertama mengembalikan set multiquery (NULL, RS) dan yang kedua (RS, NULL), maka Anda dapat menggunakan panggilan query() sederhana yang menyematkan fetch_object() pertama, tetapi Anda masih perlu membersihkan tumpukan RS.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara INNER JOIN, LEFT JOIN, RIGHT JOIN dan FULL JOIN?

  2. Mesin penyimpanan untuk meja tidak mendukung perbaikan. InnoDB atau MyISAM?

  3. Mengatur Variabel Konfigurasi MySQL – MySQL 5.7 vs MySQL 8.0

  4. Bagaimana Cara Menggunakan Pernyataan KASUS di MySQL?

  5. Tujuan SQLAlchemy melalui MySQLdb