我一直被这个难住了,在任何地方都找不到工作示例或教程。
给定以下存储过程:
SQL
delimiter $$
CREATE PROCECURE sp1(IN 'myoffset' INT, IN 'myrows'
INT)
begin
select * from t1
limit 'myoffset', 'myrows'
END$$
delimiter
我正在尝试从 PHP 调用它,如下所示:
... 建立 $conn,然后
PHP
// ver1:
$sql = ( "SET @p0 = $tmp1;" . " SET @p1 = $tmp2;" . "
CALL `sp1`(@p0, @p1);" );
//OR
//ver2
$sql = "SET @p0 = `$tmp1`; SET @p1 = `$tmp2`; CALL
`sp1`(@p0, @p1);";
$result = mysqli_query($conn, $sql);
一个都不行。MariaDB 抱怨说
“错误描述:您的 SQL 语法有错误;请检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 2 行的'SET @p1 = 25; CALL sp1(@p0, @p1)'附近使用的正确语法”
任何帮助将非常感激!
慕容森