2014-02-21 55 views
1

我使用下面的过程的任何值: 但我没有得到任何数值,当我在输入这个本地主机的phpmyadmin/MySQL的:无法看到从MySQL存储过程

call GetAllProducts() ; 

返回没有为选择值声明呢? 我可以在哪里执行以查看值? 我如何使它成为wotk.I真的很感激任何帮助。 在此先感谢。

以下程序已成功执行并存储。我检查了。

DELIMITER // 
CREATE PROCEDURE GetAllProducts() 
    BEGIN 
    SELECT * FROM products; 
    END // 
DELIMITER ; 
+0

您没有错误?你是否通过PMA连接到正确的数据库(例如,不是测试数据库)?你有什么应该正确的工作。请澄清一下,你可以通过从MySQL命令行调用GetAllProducts()来执行它吗?你已经使用了'DELIMITER'(这是一个MySQL特定于CLI的命令)意味着你可以访问命令行客户端'mysql' ... –

+0

@MichaelBerkowski'你正在使用PHP的不推荐使用的'mysql'扩展名,它是无法处理多个查询。某些存储例程的执行可能会失败!请使用改进后的'mysqli'扩展名来避免任何问题。------ -------当我点击mysql中的例程执行时,会得到以下响应。 – jason

+1

@jason我认为你刚刚回答了你自己的问题......进入PMA的'config.inc.php'文件并将$ cfg ['Servers'] [$ i] ['extension']'改为* * mysqli **(并确保您使用的是MySQLi,或者更好的PDO,因为它可以更好地处理您在我的应用程序中找到的程序)。 – CD001

回答

0

有几次你提到使用phpMyAdmin;你有什么版本?

我无法重现您的问题;它适用于我。从数据库中,单击Routines选项卡,然后为您的GetAllProducts例程单击执行链接。

enter image description here

+0

我尝试了相同的方法,并且您正在使用PHP已弃用的'mysql'扩展名,它不能处理多个查询。某些存储例程的执行可能会失败!请使用改进后的'mysqli'扩展名来避免任何问题。------ -------当我点击mysql中的例程执行时,会得到以下响应。使用最新的phpmyadmin/MAMP – jason

+0

对不起,根据上面的评论我以为你已经切换到mysqli。我建议编辑你的config.inc.php文件,并添加CD001建议的'$ cfg ['Servers'] [$ i] ['extension'] ='mysqli';'行。 –

+0

我会尽力回复您并提供其他疑问。谢谢 – jason