sql >> Database >  >> RDS >> Mysql

php/mysql met meerdere zoekopdrachten

Dankzij php.net heb ik een oplossing bedacht:je moet (mysqli_multi_query($link, $query)) gebruiken om meerdere aaneengeschakelde zoekopdrachten uit te voeren.

 /* create sql connection*/
$link = mysqli_connect("server", "user", "password", "database");

$query = "SQL STATEMENTS;"; /*  first query : Notice the 2 semicolons at the end ! */
$query .= "SQL STATEMENTS;"; /* Notice the dot before = and the 2 semicolons at the end ! */
$query .= "SQL STATEMENTS;"; /* Notice the dot before = and the 2 semicolons at the end ! */
$query .= "SQL STATEMENTS"; /* last query : Notice the dot before = at the end ! */

/* Execute queries */

if (mysqli_multi_query($link, $query)) {
do {
    /* store first result set */
    if ($result = mysqli_store_result($link)) {
        while ($row = mysqli_fetch_array($result)) 

/* print your results */    
{
echo $row['column1'];
echo $row['column2'];
}
mysqli_free_result($result);
}   
} while (mysqli_next_result($link));
}

BEWERKEN - De bovenstaande oplossing werkt als je echt één grote query wilt doen, maar het is ook mogelijk om zoveel query's uit te voeren als je wilt en ze afzonderlijk uit te voeren.

$query1 = "Create temporary table A select c1 from t1"; 
$result1 = mysqli_query($link, $query1) or die(mysqli_error());

$query2 = "select c1 from A"; 
$result2 = mysqli_query($link, $query2) or die(mysqli_error());

while($row = mysqli_fetch_array($result2)) {

echo $row['c1'];
    }  


  1. java.lang.UnfilledLinkError:geen ocijdbc11 in java. bibliotheek.pad

  2. Verschil tussen Inner join en Outer join in SQL

  3. Het equivalent van de SQLServer-functie SCOPE_IDENTITY() in mySQL?

  4. Voordelen versus nadelen van het implementeren van een hybride cloudomgeving