int mysql_stmt_attr_set(MYSQL_STMT *stmt, enum
          enum_stmt_attr_type option, const void *arg)
        
Beschreibung
Kann genutzt werden, um das Verhalten einer vorbereiteten Anweisung zu beeinflussen. Diese Funktion kann auch mehrmals aufgerufen werden, um mehrere Optionen zu setzen.
          Das option-Argument ist die Option, die Sie
          einstellen möchten, und arg ist ihr Wert.
          Wenn die Option ein Integer ist, muss arg
          auf den Wert eines Integers verweisen.
        
          Mögliche option-Werte:
        
| Option | Argumenttyp | Funktion | 
| STMT_ATTR_UPDATE_MAX_LENGTH | my_bool * | Wenn 1: Metadaten zum Update MYSQL_FIELD->max_lengthinmysql_stmt_store_result(). | 
| STMT_ATTR_CURSOR_TYPE | unsigned long * | Typ des Cursors, der bei Aufruf von mysql_stmt_execute()für die
                  Anweisung geöffnet wird.*argkannCURSOR_TYPE_NO_CURSOR(Standardwert) oderCURSOR_TYPE_READ_ONLYsein. | 
| STMT_ATTR_PREFETCH_ROWS | unsigned long * | Anzahl der Zeilen, die mit einem Cursor gleichzeitig vom Server geholt
                  werden. *argliegt zwischen 1 und
                  dem Maximalwert vonunsigned long.
                  Der Standardwert ist 1. | 
          Wenn Sie die Option STMT_ATTR_CURSOR_TYPE
          mit CURSOR_TYPE_READ_ONLY verwenden, wird
          ein Cursor für die Anweisung geöffnet, sobald Sie
          mysql_stmt_execute() aufrufen. Existiert
          bereits ein geöffneter Cursor aus einem früheren
          mysql_stmt_execute()-Aufruf, schließt die
          Option diesen Cursor, bevor ein neuer geöffnet wird. Die
          Funktion mysql_stmt_reset() schließt auch
          offene Cursors, bevor sie die Anweisung zur erneuten
          Ausführung vorbereitet.
          mysql_stmt_free_result() schließt
          ebenfalls einen eventuell noch offenen Cursor.
        
          Wenn Sie einen Cursor für eine vorbereitete Anweisung
          öffnen, ist mysql_stmt_store_result()
          überflüssig, da diese Funktion die Ergebnismenge auf der
          Clientseite puffern lässt.
        
          Die Option STMT_ATTR_CURSOR_TYPE wurde in
          MySQL 5.0.2 hinzugefügt. Die Option
          STMT_ATTR_PREFETCH_ROWS wurde in MySQL
          5.0.6 hinzugefügt.
        
Rückgabewerte
          0, wenn alles okay ist. Ein von null
          verschiedener Wert, wenn option unbekannt
          ist.
        
Fehler
Keine.
Beispiel
Das folgende Beispiel öffnet einen Cursor für eine vorbereitete Anweisung und setzt die Anzahl der in einem Schwung abzuholenden Zeilen auf 5:
MYSQL_STMT *stmt;
int rc;
unsigned long type;
unsigned long prefetch_rows = 5;
stmt = mysql_stmt_init(mysql);
type = (unsigned long) CURSOR_TYPE_READ_ONLY;
rc = mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void*) &type);
/* ... prüfe Rückgabewert... */
rc = mysql_stmt_attr_set(stmt, STMT_ATTR_PREFETCH_ROWS,
                         (void*) &prefetch_rows);
  /* ... prüfe Rückgabewert ... */
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.

