PythonQ 240-8XX Manual de usuario Pagina 612

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 768
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 611
Kapitel 9: MySQL-APIs 591
R¨uckgabewerte
Die Thread-Kennung der aktuellen Verbindung.
Fehler
Keine.
9.4.3.52 mysql_use_result()
MYSQL_RES *mysql_use_result(MYSQL *mysql)
Beschreibung
Sie m¨ussen mysql_store_result() oder mysql_use_result() f¨ur jede Anfrage aufrufen,
die erfolgreich Daten abruft (SELECT, SHOW, DESCRIBE, EXPLAIN).
mysql_use_result() initiiert einen Ergebnismengen-Abruf, aber liest die Ergebnismenge
nicht tats¨achlich in den Client wie mysql_store_result(). Statt dessen muss jede Zeile
individuell a/jointfilesconvert/293675/bgerufen werden, indem Aufrufe von mysql_fetch_row() durchgef¨uhrt werden.
Das liest das Ergebnis einer Anfrage direkt vom Server, ohne es in einer tempor¨aren Tabelle
oder einem lokalen Puffer zu speichern, was manchmal schneller ist und viel weniger Speicher
benutzt als mysql_store_result(). Dem Client wird nur Speicher f¨ur die aktuelle Zeile
zugewiesen sowie ein Kommunikationspuffer, der bis zu max_allowed_packet Bytes Groß
werden kann.
Auf der anderen Seite sollten Sie mysql_use_result() nicht benutzen, wenn Sie viele Ve-
rarbeitungen f¨ur jede Zeile auf der Client-Seite durchf¨uhren oder wenn die Ausgabe auf
den Bildschirm geschickt wird, auf dem der Benutzer ^S (stop scroll) eingeben kann. Das
bindet den Server und verhindert, dass andere Threads irgend welche Tabellen aktualisieren
onnen, von denen gerade Daten geholt werden.
Wenn Sie mysql_use_result() benutzen, m¨ussen Sie mysql_fetch_row() ausf¨uhren, bis
ein NULL-Wert zur¨uckgegeben wird, denn ansonsten werden die nicht geholten Zeilen als Teil
der Ergebnismenge bei Ihrer achsten Anfrage zur¨uckgegeben. Die C-API gibt den Fehler
Commands out of sync; You can’t run this command now aus, wenn Sie das vergessen!
Sie onnen mysql_data_seek(), mysql_row_seek(), mysql_row_tell(), mysql_num_
rows() oder mysql_affected_rows() nicht bei einem Ergebnis verwenden, das von
mysql_use_result() zur¨uckgegeb en wird. Ausserdem d¨urfen Sie keine anderen Anfragen
absetzen, bis mysql_use_result() beendet ist. (Nachdem Sie alle Zeilen a/jointfilesconvert/293675/bgeholt haben,
wird mysql_num_rows() jedoch exakt die Anzahl der geholten Zeilen zur¨uckgeben.)
Sie m¨ussen mysql_free_result() aufrufen, wenn Sie mit der Ergebnismenge fertig sind.
R¨uckgabewerte
Eine MYSQL_RES-Ergebnisstruktur. NULL, wenn ein Fehler auftrat.
Vista de pagina 611
1 2 ... 607 608 609 610 611 612 613 614 615 616 617 ... 767 768

Comentarios a estos manuales

Sin comentarios