2009-12-01 52 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);