我有一个存储的MySQL程序,它将客户编号和货币作为输入。它使用select语句输出一个数组。输出数组由Balance和NetBalance组成,
如果我将MySQL的程序称为“call GetAccountBalanceByCurrency(500,'USD')
”,我会得到正确的结果。
但是,如果我从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')");
等等。任何人都可以看到错误吗?
非常感谢。
答案 0 :(得分:4)
当您使用过程样式API时,引用手册,mysqli_multi_query
函数需要两个参数:
bool mysqli_multi_query ( mysqli $link , string $query )
因此,您至少必须将链接标识符作为第一个参数传递。
顺便说一下:这正是警告信息试图表明你的意思;-)mysqli_multi_query()
预计 2 参数, 1 给出”
是的,同一个手册页也给出了一个只有一个参数的例子 - 但它是面向对象的样式(mysqli是一个公开过程和OO API的扩展)。
答案 1 :(得分:0)
查看mysqli_multi_query的文档。你调用它的方式需要两个参数,而不仅仅是一个:
答案 2 :(得分:0)
首先,您必须设置2个查询或一个资源和一个查询 像这样
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "CREATE TABLE....;...;... blah blah blah;...";
mysqli_multi_query($link,$query);