my_bool mysql_stmt_bind_result(MYSQL_STMT *stmt,
MYSQL_BIND *bind)
Beschreibung
mysql_stmt_bind_result()
bindet Spalten der
Ergebnismenge an Daten- und Längenpuffer. Wenn Daten mit
mysql_stmt_fetch()
abgeholt werden, setzt
das MySQL-Client/Server-Protokoll die Daten für gebundene
Spalten in die angegebenen Puffer ein.
Alle Spalten müssen an ihre Puffer gebunden sein, bevor
mysql_stmt_fetch()
aufgerufen wird.
bind
ist die Adresse eines Arrays von
MYSQL_BIND
-Strukturen. Die Clientbibliothek
erwartet, dass dieses Array für jede Spalte der Ergebnismenge
ein Element enthält. Wenn Sie es versäumen, Spalten an
MYSQL_BIND
-Strukturen zu binden, ignoriert
mysql_stmt_fetch()
einfach den Datenabruf.
Die Puffer sollten groß genug sein, um die Datenwerte
speichern zu können, da dieses Protokoll die Daten nicht
stückweise zurückgeben kann.
Eine Spalte kann jederzeit gebunden oder neu gebunden werden,
auch dann, wenn eine Ergebnismenge teilweise abgeholt wurde.
Die neue Bindung tritt beim nächsten Aufruf von
mysql_stmt_fetch()
in Kraft. Nehmen wir an,
eine Anwendung bindet die Spalten in einer Ergebnismenge und
ruft mysql_stmt_fetch()
auf. Das
Client/Server-Protokoll liefert die Daten in die gebundenen
Puffer. Wenn die Anwendung nun aber die Spalten an andere
Puffer bindet, schreibt das Protokoll die Daten erst beim
nächsten Aufruf von mysql_stmt_fetch()
in
diese anderen Puffer.
Um eine Spalte zu binden, ruft eine Anwendung
mysql_stmt_bind_result()
auf und übergibt
den Typ, die Adresse und die Adresse des Längenpuffers. Die
Bestandteile der MYSQL_BIND
-Elemente
sollten so eingestellt werden wie in
Abschnitt 24.2.5, „C-API: Prepared Statement-Datentypen“,
beschrieben.
Rückgabewerte
Null, wenn das Binden erfolgreich verlief. Ein von null verschiedener Wert, wenn ein Fehler auftrat.
Fehler
CR_UNSUPPORTED_PARAM_TYPE
Die Konvertierung wird nicht unterstützt. Möglicherweise
ist der buffer_type
-Wert unzulässig
oder hat keinen Typ, der unterstützt wird.
CR_OUT_OF_MEMORY
Speicherüberlauf.
CR_UNKNOWN_ERROR
Ein unbekannter Fehler ist aufgetreten.
Beispiel
Die Verwendung von mysql_stmt_bind_result()
wird im Beispiel von Abschnitt 24.2.7.11, „mysql_stmt_fetch()
“,
gezeigt.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.