【发布时间】:2017-12-07 02:23:03
【问题描述】:
我正在尝试通过 PHP 调用存储过程。但我没有得到想要的输出。我在 PHP 中遇到了一种不正确的语法错误。如果我独立运行存储过程,它会按预期工作。下面我给出这个的代码 sn-p -
<?php
$host = "localhost";
$db_user = "userid";
$db_password = "password";
$db_name = "trialdb";
$con = mysqli_connect($host,$db_user,$db_password,$db_name);
$name = $_POST["Name"];
$id = $_POST["Id"];
$storedProc = "CALL CheckNameId(?,?, @returnStatus)";
$stmt = mysqli_prepare($con, $storedProc);
mysqli_stmt_bind_param($stmt,"si",$name, $id);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $returnStatus);
mysqli_stmt_fetch($stmt);
echo $returnStatus;
mysqli_stmt_close($stmt);
mysqli_close($con);
?>
我在 mysqli_stmt_bind_param、mysqli_stmt_execute、mysqli_stmt_bind_result 处收到错误...将第一个参数作为布尔值传递。它将 $stmt 解释为布尔值。 请问我的理解有什么问题吗? 我怀疑我使用绑定结果的方式有问题。 可能是我对存储过程中的“语句”、“结果集”或处理“结果集”存在理解差距。 如果有任何好的链接,任何人都可以提出,我很乐意参考。
【问题讨论】: