2

I have a stored MySQL procedure that takes a customer number and a currency as input. It outputs an array using a select statement. The output array is comprised of Balance and NetBalance,

If I call the procedure from MySQL as "call GetAccountBalanceByCurrency(500,'USD')" I get the correct results.

However, if I call it from PHP as $x= mysqli_multi_query("call GetAccountBalanceByCurrency(500,'USD');"), I get the following error message:

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

I assume it is something simple, but have been banging my head for hours. I have tried $x= mysqli_multi_query("call GetAccountBalanceByCurrency(500,'USD')"); among other things. Can anybody see the error?

Many thanks.

3 Answers 3

4

Quoting the manual, the mysqli_multi_query function requires two parameters, when you are using the procedural style API :

bool mysqli_multi_query  ( mysqli $link  , string $query  )

So, you at least must pass the link identifier as a first parameter.

BTW : that's exactly what the warning message is trying to indicate you ;-)
"mysqli_multi_query() expects exactly 2 parameters, 1 given"


Yes, the same manual page also gives an example with only one parameter -- but it's for the Object oriented style (mysqli being an extension that exposes both a procedural and an OO API).

Sign up to request clarification or add additional context in comments.

Comments

0

Check out the documentation for mysqli_multi_query. The way you're calling it needs two arguments instead of just the one:

https://www.php.net/mysqli_multi_query

Comments

0

First you have to set 2 querys or one recource and one query like this

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

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

mysqli_multi_query($link,$query);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.