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

Prosedur Tersimpan, MySQL dan PHP

@michal kralik - sayangnya ada bug dengan MySQL C API yang digunakan PDO yang berarti menjalankan kode Anda seperti di atas dengan beberapa versi MySQL menghasilkan kesalahan:

Anda dapat melihat laporan bug di bugs.mysql.com . Sudah diperbaiki untuk versi 5.5.3+ &6.0.8+.

Untuk mengatasi masalah ini, Anda perlu memisahkan parameter masuk &keluar, dan menggunakan variabel pengguna untuk menyimpan hasil seperti ini:

$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(:in_string, @out_string)");
$stmt->bindParam(':in_string', 'hello'); 

// call the stored procedure
$stmt->execute();

// fetch the output
$outputArray = $this->dbh->query("select @out_string")->fetch(PDO::FETCH_ASSOC);

print "procedure returned " . $outputArray['@out_string'] . "\n";


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan kata kunci MySQL dalam kueri?

  2. Codeigniter `where` dan `or_where`

  3. Dapatkan baris dari tabel mysql ke array php

  4. Cara Membuat Database dari Script di MySQL

  5. PHP &MySQL cara terbaik untuk menghitung tampilan halaman untuk halaman dinamis