phpbar.de logo

Mailinglisten-Archive

rekursive Abfrage?

rekursive Abfrage?

Andreas Vogel a-v-o at web.de
Die Jul 15 16:44:23 CEST 2003


Hallo Stefan,

> > Bei einer 'ordentlichen' Programmiersprache ist es kein
> > Problem, Dinge zu verschachteln, aber PHP ist schwer auf
> > DAU-like getrimmt, und da weiss man nie, fuer welche
> > Result-ID sich das Programm entscheidet ... :-((
> 
> Ich dachte es wäre hier eher ein MySQL Problem
> weil das array($resultset) ja von mysql_fetch gehohlt wird. 
> Und es da dann noch eines gibt und noch eines. Und ich bin 
> dann ja auch nicht allein auf dieser Welt, sprich an dieser 
> Datenbank.

Bei mysql_query ist der Vorgabewert für den Ergebnismodus
MYSQL_STORE_RESULT, d.h. die Ergebnisse werden lokal in den
Hauptspeicher kopiert, das result_set (Ergebnis-Kennung) enthält einen
Zeiger auf diese Daten. Jedes result_set hat seine eigenen
Datensatzzeiger, Feldlisten etc. 

Mit Funktionen, die eine Ergebnis-Kennung als Parameter erwarten,
dürfte es keine Probleme geben (also bspw. mysql_fetch_array).
Aufpassen muss man bei Funktionen, die die Verbindungs-Kennung als
Parameter erwarten (bspw. mysql_affected_rows).

Bei mysql_query_unbuffered ist der Vorgabewert für den Ergebnismodus
MYSQL_USE_RESULT. Bei diesem Ergebnismodus müssen erst alle
Ergebniszeilen abgerufen worden sein, bevor eine neue Abfrage
gestartet werden kann (ansonsten vermengen sich die Resultate der
beiden Abfragen).

Dies ist kein Praxiswissen meinerseits, sondern aus den Hilfedateien
von PHP und mySQL, sowie Einblick in die Strukturen der C-API (beim
Übersetzen in Delphi).

Viel Erfolg,
Andreas Vogel

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive