【问题标题】:Call a stored procedure from php function [closed]从php函数调用存储过程[关闭]
【发布时间】:2021-01-29 03:38:50
【问题描述】:

我正在尝试了解有关stored procedures 的信息。我有一个名为qcWaitingTags() 的php 函数。在这个函数中,我尝试调用stored procedure。但是当我从我的php 文件中调用该函数时,它出现了错误expect parameter 1 to be mysqli_result boolean...。但是,如果我从该函数中取出整个代码并直接使用它,那么它就可以工作了。有谁知道我在这里做错了什么?

function qcWaitingTags(){
global $conn;
//    $totalQcWaitingQuery = "SELECT * FROM plannertags WHERE (status = '0' OR status = '2') AND currentStage = '12' AND assignedTo = '0' AND handoverStatus='0' AND failedStatus='0'";
$totalQcWaitingQuery = "CALL qcWaitingQuery()";
$totalQcWaitingQueryExecute = mysqli_query($conn, $totalQcWaitingQuery);
$totalQcWaitingTags = mysqli_num_rows($totalQcWaitingQueryExecute);
return $totalQcWaitingTags;
}

【问题讨论】:

  • 是的,因为 mysqli_query 返回一个布尔值的 false
  • 我明白了。但为什么它返回一个错误?
  • 您的查询语法错误
  • 我可以知道是什么问题吗?
  • @Jerson 语法没有错。我已经弄清楚了问题所在。这是因为使用了全局变量期望,它会触发连接。但事实上并非如此。我在函数中包含了连接文件,它正在工作。看我的回答

标签: php stored-procedures mysqli


【解决方案1】:

问题是因为使用了全局变量,期望它会触发连接。但事实上并非如此。我在函数中包含了连接文件,它正在工作

function qcWaitingTags(){
  include "../../commonFilesForAll/db.php";
  $totalQcWaitingQuery = "CALL qcWaitingQuery()"; //This is calling stored procedure
  $totalQcWaitingQueryExecute = mysqli_query($conn, $totalQcWaitingQuery);
  $totalQcWaitingTags = mysqli_num_rows($totalQcWaitingQueryExecute);
  return $totalQcWaitingTags;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 2017-05-21
    • 2016-01-11
    • 1970-01-01
    相关资源
    最近更新 更多