PHP mysql_unbuffered_query()-funktio

Määrittely ja käyttö

mysql_unbuffered_query()-funktio lähettää MySQL:lle yhden SQL-kysynnän (ei hanki/tallenna tuloksia).

Syntaksi

mysql_unbuffered_query(query,connection)
Parametrit Kuvaus
query Välttämätön. Määrittää lähetettävän SQL-kysynnän. Huomautus: kyselymerkkijono ei saa päättyä pistoon.
connection Valinnainen. Määrittää SQL-yhteyden tunnisteen. Jos sitä ei määritetä, käytetään edellistä avattua yhteyttä.

Selitys

mysql_unbuffered_query() lähettää MySQL:lle yhden SQL-kysynnän query, mutta ei mysql_query() niin automaattisesti hankita ja tallentaa tuloresurssit. Yhtäältä tämä säästää huomattavasti muistia suurten tuloresurssien käsittelyssä. Toisaalta voidaan käsitellä tuloresursseja heti ensimmäisen rivin jälkeen, ilman että odotetaan koko SQL-lauseen suorittamista.

Kun käytetään useita tietokantayhteyksiä, on määritettävä valinnainen parametri connection

Vinkit ja huomiot

Huomautus:mysql_unbuffered_query() etujen hinnalla on kustannuksia: mysql_unbuffered_query() palauttaman tuloresurssin päällä ei voi käyttää mysql_num_rows() ja mysql_data_seek()。Lisäksi on poistettava kaikki varastoidut SQL-kyselyjen tuottamat tulorivit ennen kuin lähettää uusi SQL-kysely MySQL:lle.

Esimerkki

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Ei voitu yhdistää: ' . mysql_error());
  }
// Suuri kysely
$sql = "SELECT * FROM Person";
mysql_unbuffered_query($sql,$con);
// Aloita datan käsittely...
mysql_close($con);
?>