Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP mysqli chuẩn bị câu lệnh cho thủ tục được lưu trữ với tham số out

Cách thức hoạt động của các thủ tục được lưu trữ với các câu lệnh chuẩn bị phức tạp hơn một chút. Hướng dẫn sử dụng PHP nói rằng bạn phải sử dụng các biến phiên (phiên MySQL, không phải PHP)

Vì vậy, bạn có thể làm điều đó với

$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);

Ghi chú:

Tôi khuyên bạn nên viết lại quy trình này dưới dạng một hàm với một tham số IN trả về 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. Giới thiệu về chuyển đổi dự phòng cho MySQL Replication - Blog 101

  2. Mysql:Cắt tất cả các trường trong cơ sở dữ liệu

  3. JSON_ARRAY_APPEND () - Nối Giá trị vào Mảng JSON trong MySQL

  4. ADDDATE () Ví dụ - MySQL

  5. Cách chọn từng bản ghi một mà không lặp lại