2009-12-01 32 views
2

我有一個存儲的MySQL過程,它將客戶編號和貨幣作爲輸入。它使用select語句輸出一個數組。輸出數組由Balance和NetBalance組成,如果我將MySQL中的過程稱爲「call GetAccountBalanceByCurrency(500,'USD')」,我會得到正確的結果。從PHP調用MySQL存儲過程的問題

但是,如果我把它從PHP爲$x= mysqli_multi_query("call GetAccountBalanceByCurrency(500,'USD');"),我收到以下錯誤信息:

Warning: mysqli_multi_query() expects exactly 2 parameters, 1 given 
    in C:\...\...\call_proc_test4.php on line 4. 

我以爲它是簡單的東西,但都被敲我的頭幾個小時。我嘗試過$x= mysqli_multi_query("call GetAccountBalanceByCurrency(500,'USD')");等等。任何人都可以看到錯誤?

非常感謝。

回答

4

引述手冊,mysqli_multi_query功能需要兩個參數,當您使用的程序風格的API:

bool mysqli_multi_query (mysqli $link , string $query ) 

所以,你至少必須通過鏈接標識符作爲第一個參數。

BTW:這正是警告消息試圖表明您;-)
mysqli_multi_query()期望的是參數,給」


是,同樣的手冊頁也給出了一個只有一個參數的例子 - 但它是面向對象的風格(mysqli是一個擴展,同時公開了過程和OO API)

0

首先,你必須設置2個querys或一個林資源以及一個查詢 這樣

$link = mysqli_connect("localhost", "my_user", "my_password", "world"); 

$query = "CREATE TABLE....;...;... blah blah blah;..."; 

mysqli_multi_query($link,$query);