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

PHP:Memanggil Prosedur Tersimpan MySQL dengan Parameter INPUT DAN OUTPUT (BUKAN INOUT)

Sayangnya, MySQLi tidak memiliki dukungan asli untuk parameter sproc keluaran; seseorang harus menampilkan ke MySQL variabel pengguna lalu ambil nilainya menggunakan SELECT separate yang terpisah pernyataan.

Menggunakan antarmuka prosedural:

$procInput1 = 123;
$procInput2 = 456;
$procInput3 = 789;

$mysqli = mysqli_connect();

$call = mysqli_prepare($mysqli, 'CALL test_proc(?, ?, ?, @sum, @product, @average)');
mysqli_stmt_bind_param($call, 'iii', $procInput1, $procInput2, $procInput3);
mysqli_stmt_execute($call);

$select = mysqli_query($mysqli, 'SELECT @sum, @product, @average');
$result = mysqli_fetch_assoc($select);
$procOutput_sum     = $result['@sum'];
$procOutput_product = $result['@product'];
$procOutput_average = $result['@average'];

Atau, menggunakan antarmuka berorientasi objek:

$procInput1 = 123;
$procInput2 = 456;
$procInput3 = 789;

$mysqli = new mysqli();

$call = $mysqli->prepare('CALL test_proc(?, ?, ?, @sum, @product, @average)');
$call->bind_param('iii', $procInput1, $procInput2, $procInput3);
$call->execute();

$select = $mysqli->query('SELECT @sum, @product, @average');
$result = $select->fetch_assoc();
$procOutput_sum     = $result['@sum'];
$procOutput_product = $result['@product'];
$procOutput_average = $result['@average'];


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat halaman login di aplikasi android?

  2. MAKEDATE() Contoh – MySQL

  3. Impor batas ukuran file di PHPMyAdmin

  4. Memasukkan daftar yang menyimpan banyak nilai di MySQL menggunakan pymysql

  5. Menemukan posisi angka dalam string