我可以使用带有一个参数的 MySQL 存储过程,但是当我尝试使用多个参数时,存储过程不会被调用。我将粘贴我的 php 代码,然后粘贴 SQL 代码。谁能指出为什么它不起作用?
谢谢
<?php
//DB Connection include
include '/connection/proccon.php';
$skill=1;
$level=1;
$user=1;
//SQL for identify user
$sqlquestion = sprintf("call updatequestion('%s, %s, %s')", $skill, $user, $level);
echo $sqlquestion;
$resultquestion = mysqli_query($link, $sqlquestion);
?>
下面的 SQL
--Procedure: updatequestion
--DROP PROCEDURE IF EXISTS updatequestion;
DELIMITER |
CREATE DEFINER = 'root'@'%' PROCEDURE updatequestion
(
IN v_uid int,
IN v_level int,
IN v_qid int
)
BEGIN
INSERT INTO answer (qid,uid,level) VALUES(v_qid,v_uid,v_level);
END|
DELIMITER ;
最佳答案
更好地使用引号,您在 2 个引号中包含了 3 个参数,我认为这是错误的。
解决方案:
**
$sqlquestion = sprintf("call updatequestion(%s, %s, %s)", $skill, $user, $level);
**
祝你有美好的一天
关于php - MySQL存储过程使用多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24649281/