
Kapitel 9: MySQL-APIs 551
mysql Anfrage() F¨uhrt eine SQL-Anfrage aus, die als NULL-begrenzte Ze-
ichenkette angegeben wird.
mysql real connect() Verbindet sich mit einem MySQL-Server.
mysql real query() F¨uhrt eine SQL-Anfrage aus, die als gez¨ahlte Zeichenkette
angegeben wird.
mysql reload() Weist den Server an, die Berechtigungstabellen erneut zu
laden.
mysql row seek() Sucht bis zu einer Zeile in einer Ergebnismenge, indem sie
den Wert benutzt, der von mysql_row_tell() zur¨uckgegeben
wird.
mysql row tell() Gibt die Zeilencursorposition zur¨uck.
mysql select db() W¨ahlt eine Datenbank aus.
mysql shutdown() F¨ahrt den Datenbankserver herunter.
mysql stat() Gibt den Serverstatus als Zeichenkette zur¨uck.
mysql store result() Ruft eine komplette Ergebnismenge zum Client ab.
mysql thread id() Gibt die aktuelle Thread-Kennung zur¨uck.
mysql thread safe() Gibt 1 zur¨uck, wenn die Clients Thread-sicher kompiliert sind.
mysql use result() Initialisiert den zeilenweisen Abruf einer Ergebnismenge.
Um sich mit dem Server zu verbinden, rufen Sie mysql_init() auf, um einen Verbindungs-
Handler zu initialisieren. Rufen Sie dann mysql_real_connect() mit diesem Handler
auf (mit Informationen wie Hostname, Benutzername und Passwort). Beim Verbinden
setzt mysql_real_connect() den reconnect-Flag (Teil der MYSQL-Struktur) auf einen
Wert von 1. Dieser Flag legt bei einer Anfrage, die wegen einer verloren gegangenen
Serververbindung nicht ausgef¨uhrt werden kann, fest, dass ein erneutes Verbinden ver-
sucht wird, bevor aufgegeb en wird. Wenn Sie mit der Verbindung fertig sind, rufen Sie
mysql_close() auf, um sie zu beenden.
W¨ahrend eine Verbindung aktiv ist, kann der Client SQL-Anfragen an den Server schicken,
indem er mysql_query() oder mysql_real_query() benutzt. Der Unterschied zwischen
beiden ist, dass mysql_query() erwartet, dass die Anfrage als NULL-separierte Zeichenkette
angegeben wird, w¨ahrend mysql_real_query() eine gez¨ahlte Zeichenkette erwartet. Wenn
die Zeichenkette Bin¨ardaten enth¨alt (was NULL-Bytes beinhalten kann), m¨ussen Sie mysql_
real_query() benutzen.
Bei jeder Nicht-SELECT-Anfrage (wie INSERT, UPDATE, DELETE) finden Sie heraus, wie viele
Zeilen ge¨andert (betroffen) wurden, indem Sie mysql_affected_rows() aufrufen.
Bei SELECT-Anfragen rufen Sie die ausgew¨ahlten Zeilen als Ergebnismenge ab. (Beachten
Sie, dass einige Statements ¨ahnlich wie SELECT sind, weil auch sie Zeilen zur¨uckgeben. Das
sind SHOW, DESCRIBE und EXPLAIN. Sie werden auf dieselbe Weise behandelt wie SELECT-
Statements.)
Comentarios a estos manuales