【发布时间】: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