您好我有一个简单的MYSQL存储过程,它有一个IN(int)和一个OUT(int)参数。
我正在从PHP脚本调用存储过程。
存储过程代码:
DELIMITER $$
USE `testing`$$
DROP PROCEDURE IF EXISTS `test_sp_inout_params`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_sp_inout_params`(IN username VARCHAR(30), OUT user_id INT)
BEGIN
INSERT INTO users (`name`) VALUES (username);
SET user_id = LAST_INSERT_ID();
END$$
DELIMITER ;我能够从mysql查询窗口运行存储过程:
CALL test_sp_inout_params('TestName', @user_id);
SELECT @user_id但从PHP脚本我geting错误.. :(
mysqli_query($conn, "CALL test_sp_inout_params('surya', @user_id)");
$rs = mysqli_query($conn, "SELECT @user_id");
$row = mysqli_fetch_assoc($rs);
var_dump($row);[EDITED]
上面的PHP脚本在单独运行时可以完美地执行。
但是我有另外一个存储过程..当我在上面的php脚本之前调用它时,我正在创建这种警告消息。
所以,我正在使用的脚本(在上面提到的php脚本之前):
$rs1 = mysqli_query($conn, "CALL test_sp_no_params()");
$arr = array();
while($row1 = mysqli_fetch_assoc($rs1))
$arr[] = $row1;当我调用第二个存储过程时,有什么问题?
任何人都可以帮助我!
提前致谢,
SuryaPavan