[英]Calling MySQL Stored Procedure via PHP
我剛開始編寫MySQL存儲過程,但遇到了一些問題。
這是存儲過程:
DELIMITER $$
DROP PROCEDURE IF EXISTS login$$
CREATE PROCEDURE login(
IN usern VARCHAR(11),
IN pw VARCHAR(30),
OUT msg VARCHAR(50)
)
login_proc:
BEGIN
SELECT COUNT(*) as voter
FROM regVoter
WHERE studentID = usern AND password = pw;
IF voter = 1 THEN
SET msg = "login successfully";
ELSE
SET msg = "login failed";
END IF;
LEAVE login_proc;
END $$
DELIMITER ;
以下是將在其中調用存儲過程的PHP文件:
<?php
ini_set('display_errors','1'); error_reporting(E_ALL);
include_once 'dbConnect.php';
$username = $_POST['username'];
$password = $_POST['password'];
if (connect()){
global $conn;
$query = $conn->query("CALL login('$username','$password',@msg)") or die("Query failed: " . $conn->error);
$result = $conn->query("SELECT @msg AS data");
$row = $result->fetch_assoc();
echo $row['data'];
}
else{
$data = "connection error!";
}
?>
我得到的錯誤是“未捕獲的錯誤:在布爾值上調用成員函數fetch_assoc()”,這意味着查詢之一返回false。
我在這里做錯了什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.