How to execute 2 or more SQL queries in PHP without joining tables

To select data from 1 table, I use the following code:

if(isset($UserID)) { $users = $con->prepare(" SELECT DISTINCT d.FirstName ,d.LastName ,d.Picture FROM Details d WHERE d.UserId = ? "); $users->bind_param('i', $GetUserId); $users->execute(); $users->bind_result( $FirstName, $LastName, $Picture ); } else { echo "There is no User ID detected, try to refresh browser."; } while ($users->fetch()) { ?> <div class="grid-group"> <span>Personal Details</span> <div class="grid-column"> <div class="grid-item header">First Name </div> <div class="grid-item header">Last Name </div> <div class="grid-item header">Picture </div> </div> <div class="grid-column"> <div class="grid-item"><?php echo $FirstName; ?></div> <div class="grid-item"><?php echo $LastName; ?></div> <div class="grid-item"><?php echo $Picture; ?></div> </div> </div> <?php } ?> 

How can I add 1 more query to select some data from another table? Sort of:

 SELECT Foo, Bar, FooBar FROM Bizz WHERE UserId = ? 

Should I use mysqli_multi_query ? But how can I use It and bind_result after It? I cannot achieve the correct syntax. Or is there another way?

I will need to print data from 2 tables:

 while ($users->fetch()) { ?> <div class="grid-group"> <span>Personal Details</span> <div class="grid-column"> <div class="grid-item header">First Name </div> <div class="grid-item header">Last Name </div> <div class="grid-item header">Picture </div> </div> <div class="grid-column"> <div class="grid-item"><?php echo $FirstName; ?></div> <div class="grid-item"><?php echo $LastName; ?></div> <div class="grid-item"><?php echo $Picture; ?></div> </div> </div> <div class="grid-group"> <span>Foo Bar</span> <div class="grid-column"> <div class="grid-item header">Foo </div> <div class="grid-item header">Bar </div> <div class="grid-item header">FooBar </div> </div> <div class="grid-column"> <div class="grid-item"><?php echo $Foo; ?></div> <div class="grid-item"><?php echo $Bar; ?></div> <div class="grid-item"><?php echo $FooBar; ?></div> </div> </div> <?php } ?> 

For some reason I can not use JOINS . Do you have any ideas?

UPDATE

If I prepare 2 requests in the following, I got a blank screen:

 if(isset($UserID)) { $users = $con->prepare(" SELECT DISTINCT d.FirstName ,d.LastName ,d.Picture FROM Details WHERE d.UserId = ? "); $users->bind_param('i', $GetUserId); $users->execute(); $users->bind_result( $FirstName, $LastName, $Picture ); $users2 = $con->prepare(" SELECT DISTINCT Foo , Bar , FooBar FROM Bizz WHERE UserId = ? "); $users2->bind_param('i', $GetUserId); $users2->execute(); $users2->bind_result( $Foo, $Bar, $FooBar ); } else { echo "There is no User ID detected, try to refresh browser."; } while ($users->fetch()) { ?> ... 

Do you have any ideas?

-1
source share
1 answer

to find out why you get a blank screen, you should enable error_reporting, add the following at the beginning of your php code first of all:

 error_reporting(-1); 

Also add code to show errors that may occur in MySQL:

 if(isset($UserID)) { $users = $con->prepare(" SELECT DISTINCT d.FirstName ,d.LastName ,d.Picture FROM Details WHERE d.UserId = ? "); if (!$users) { echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; } $binding = $users->bind_param('i', $GetUserId); if (!$binding) { echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; } if($users->execute() == false) { echo 'Error: ' . $con->error; } $binding_results = $users->bind_result( $FirstName, $LastName, $Picture ); if (!$binding_results) { echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; } $users2 = $con->prepare(" SELECT DISTINCT Foo , Bar , FooBar FROM Bizz WHERE UserId = ? "); if (!$users2) { echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; } $binding2 = $users2->bind_param('i', $GetUserId); if (!$binding2) { echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; } if($users2->execute() == false) { echo 'Error: ' . $con->error; } $binding_results2 = $users2->bind_result( $Foo, $Bar, $FooBar ); if (!$binding_results2) { echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; } 

I see one error in your first request. you use d.FirstName where, since the table name is Details

0
source

Source: https://habr.com/ru/post/1246449/


All Articles