嗨我有一个简单的MYSQL存储过程,它有一个IN(int)和一个OUT(int)参数。 我正在从PHP脚本调用存储过程。通过php脚本检索mysql存储过程的输出参数的问题
存储过程的代码:
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脚本我歌厅错误.. :(
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);
[编辑] 上面的PHP脚本执行完美,当它运行指示vidually。 但我有另一个存储过程..当我在上面的php脚本之前调用,我geting那种警告消息。 所以,我使用的脚本是(前上述PHP脚本):
$rs1 = mysqli_query($conn, "CALL test_sp_no_params()");
$arr = array();
while($row1 = mysqli_fetch_assoc($rs1))
$arr[] = $row1;
是什么,当我拨打第二个存储过程的问题?
任何人都可以帮助我!
由于提前, SuryaPavan
这些错误是什么? – k102 2011-06-17 12:14:36
警告:mysqli_fetch_assoc()期望参数1为mysqli_result,null给出.......... var_dump($ row)==> NULL – SuryaPavan 2011-06-17 12:53:21