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.