Verbindung Auf und Abbauen
Um
eine Verbindung zum Server aufzubauen, benötigen wir ein
Verbindungshandle (durch Aufruf von mysql_init() ). Dieses wird der
Routine mysql_real_connect zusammen mit anderer Information wie den
Hostname, Benutzernamen und Kennwort übergeben. Wenn die Verbindung
besteht wird das "Reconnect Flag" (Teil der TMYSQL Struktur) auf 1
gesetzt. Dieses Flag zeigt an, falls eine
Abfrage wegen einer verlorenen Verbindung nicht durchgeführt werden kann,
das die Verbindung mit dem Server automatische wieder hergestellt wird .
Wenn alle Aufgaben mit der Verbindung durchgeführt wurden, rufen Sie mysql_close () auf,
um diese zu beenden.
Während eine Verbindung aktiv ist, kann der Client SQL Abfragen an
den Server mit Hilfe von mysql_query () oder mysql_real_query () senden.
Der Unterschied zwischen den zwei Funktionen ist, dass mysql_query ()
erwartet, dass die Abfrage als eine auf Null endende Zeichenfolge
angegeben wird, während mysql_real_query () ein Array
erwartet. Wenn die Zeichenfolge binäre Daten enthält (die null Byte
einschließen können), müssen Sie mysql_real_query () verwenden.
Für jede nicht- SELECT Abfrage (zum Beispiel Einfügung,
Aktualisierung, Löschen) können Sie herausfinden, wie viele Zeilen durch
Aufrufen von mysql_affected_rows () geändert (beeinflusst) wurden.
Für SELECT Abfragen finden Sie die ausgewählten
Zeilen in der Ergebnismenge wieder. (Beachten Sie, dass einige
Anweisungen sind SELECT like , sie geben Zeilen zurück.
Diese schließen ein SHOW, DESCRIBE und EXPLAN . Sie
sollten auf dieselbe Weise behandelt werden, wie SELECT Anweisungen).
Es gibt zwei Wege, dass ein Client Ergebnismengen verarbeitet. Ein Weg
ist, das ganz sofort gesetzte ganze Ergebnis durch Aufrufen von mysql_store_result () wieder aufzufinden. Diese Funktion erwirbt vom
Server alle die von der Abfrage zurückgegebenen Zeilen und speichert sie
im Client. Der zweite Weg ist, damit der Client eine Zeile von Zeile
Ergebnismenge durch Aufrufen von mysql_use_result () einleitet.
Diese Funktion initialisiert die Abfrage, aber bekommt nicht tatsächlich
Zeilen vom Server.
In beiden Fällen erfolgt der Zugriff auf eine Zeile über mysql_fetch_row.
Trotz größter Sorgfalt schleichen sich immer mal Fehler ein, bitte
jeden Fehler oder andere Ungereimtheiten mir umgehend mitteilen. Danke !
Katja
Weitere Fragen bitte im Forum stellen !
Autor: Katja