【发布时间】:2014-07-09 08:54:44
【问题描述】:
我可以使用带有一个参数的 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 ;
【问题讨论】:
-
所有参数都用引号引起来,所以它只是一个字符串而不是 3 个单独的参数。