2014-02-21 49 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