【问题标题】:error in calling a mysql stored procedure from a php page从 php 页面调用 mysql 存储过程时出错
【发布时间】:2012-10-14 12:19:22
【问题描述】:

使用 phpmyadmin,我创建了一个名为 mySP() 的 mysql 存储过程。创建 SP 后,我注意到 SP 位于 ROUTINE 表下的 information_schema db 中。我可以在这里看到它。现在从 phpmyadmin 中,如果我使用 SQL 选项卡并使用以下方法调用该过程,则在我的实际数据库下: 调用 mySP();

它按要求工作。没有问题。

现在我试图通过让一个 php 页面调用这个 SP 来扩展它。

我的php代码是这样的:

<?php

include("include_db_connection.php");


    $callSP_query = "CALL mySP()";

    $callSP_result =    mysqli_query($db_conn, $callSP_query) 
                            or die('Connected to database, but StoredProc failed');

        if(!$callSP_result)                 
        {
            echo "Error with StoredProc...";
        }
        else
        {
            echo "Succsess! Called Stored Proc..";
        }   

?>

现在在浏览器上加载此页面时,我总是收到“已连接到数据库,但 StoredProc 失败”错误,这意味着与 db 的连接已成功建立,但调用 SP 时出现了一些问题。

可能是什么问题? SP 已成功创建,甚至可以从 phpmyadmin 中成功调用。 php调用哪里出错了?

谢谢!

编辑:

我刚刚使用 mysqli_error() 检查了错误代码,它显示“PROCEDURE mySP 不存在”

【问题讨论】:

  • 使用 mysql_error() 从 mySQL 获取实际错误消息
  • @Pekka - 错误是“PROCEDURE mySP 不存在”:) 我使用 phpmyadming 创建了 mySP,就像我说的,从 phpmyadmin 中调用这个 SP 仍然有效。
  • 我明白了。我的数据库连接要求它连接到我的实际数据库。但这个过程不在我的实际数据库中,但我猜在 information_schema 中。我应该指定路径吗?

标签: php mysql stored-procedures phpmyadmin


【解决方案1】:

这是我自己的代码的问题。实际上,您不必参考甚至查看 information_schema。如果您的数据库连接详细信息正确,则可以使用上述代码调用您的 sp :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 2014-11-23
    • 2018-12-29
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多