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

PHP mysqli menyiapkan pernyataan untuk prosedur tersimpan tanpa parameter

Cara kerja prosedur tersimpan dengan pernyataan yang disiapkan sedikit lebih rumit. Manual PHP menyatakan bahwa Anda harus menggunakan variabel sesi (sesi MySQL, bukan PHP)

Jadi Anda bisa melakukannya dengan

$connect=&ConnectDB();
// bind the first parameter to the session variable @uid
$stmt = $connect->prepare('SET @uid := ?');
$stmt->bind_param('s', $uid);
$stmt->execute();

// bind the second parameter to the session variable @userCount
$stmt = $connect->prepare('SET @userCount := ?');
$stmt->bind_param('i', $userCount);
$stmt->execute();

// execute the stored Procedure
$result = $connect->query('call IsUserPresent(@uid, @userCount)');

// getting the value of the OUT parameter
$r = $connect->query('SELECT @userCount as userCount');
$row = $r->fetch_assoc();               

$toRet = ($row['userCount'] != 0);

Keterangan:

Saya merekomendasikan untuk menulis ulang prosedur ini sebagai fungsi dengan satu parameter IN yang mengembalikan INT.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. prosedur tersimpan mysql lebih lambat 20 kali dari kueri standar

  2. Cara Melihat Variabel Status dan Sistem di MySQL Workbench menggunakan GUI

  3. MySQL MAX_JOIN_SIZE kesalahan

  4. MySQL UDF sys_exec() tidak berfungsi

  5. 4 Cara Memeriksa Tipe Data Kolom di MySQL