New to mysqli library - Multiple query problem

Posted on 16th Feb 2014 by admin

Greetings,

I am writing a batch program that executes 3 queries on a single page. Using mysql libraries and regular queries works just fine. I am rewriting the page to include a stored procedure. The first query gets several thousand rows from a table, the second query calls a stored procedure which returns a resultset and the third query updates the table with the results from the stored procedure. Queries 2 & 3 are inside a while loop and execute once for every record from query 1.

Here is my connection string to the database:
$connect = mysqli_connect("localhost", "username", "password","database") or
die ("The database is unavailable. Please try again later.");

Query 1 = $results = mysqli_query($connect,$query)
Query 2 = $results1 = mysqli_query($connect,$query1);
Query 3 = $results2 = mysqli_query($connect,$query2);

$query = Select * from table
$query1 = Call stored Procedure
$query2 = Update table set ...

The above fails with this error message:
Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, boolean given in pagename on line 103

If I create 3 connection variables everything works as expected.
$connect = mysqli_connect("localhost", "username", "password","database") or
die ("The database is unavailable. Please try again later.");
$connect1 = mysqli_connect("localhost", "username", "password","database") or
die ("The database is unavailable. Please try again later.");
$connect2 = mysqli_connect("localhost", "username", "password","database") or
die ("The database is unavailable. Please try again later.");

Is there a way to accomplish what I am trying to do without creating 3 identical connections to the database?

I am a noob to this so go easy on my coding practices. This code actually processes 40+ records per second on an old Dell laptop

Other forums