PHP Conference Nagoya 2025

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MYSQLI_READ_DEFAULT_GROUP (int)

Liest Optionen der angegebenen Gruppe aus my.cnf oder der mit MYSQLI_READ_DEFAULT_FILE angegebenen Datei.

MYSQLI_READ_DEFAULT_FILE (int)

Liest Optionen aus der angegebenen Datei anstelle von my.cnf.

MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS (int)
Teilt dem Server mit, dass der Client mit dem Sandbox-Modus für abgelaufene Passwörter umgehen kann. Kann in Verbindung mit mysqli_options() verwendet werden.
MYSQLI_OPT_LOAD_DATA_LOCAL_DIR (int)
Wenn diese Option aktiviert ist, gibt sie das Verzeichnis an, aus dem bei LOAD DATA LOCAL-Anweisungen das clientseitige Laden von LOCAL-Daten erlaubt ist.
MYSQLI_OPT_CONNECT_TIMEOUT (int)

Der Verbindungs-Timeout in Sekunden.

MYSQLI_OPT_READ_TIMEOUT (int)

Der Timeout für das Ergebnis der Befehlsausführung in Sekunden. Verfügbar ab PHP 7.2.0.

MYSQLI_OPT_LOCAL_INFILE (int)

Ermöglicht den Befehl LOAD LOCAL INFILE.

MYSQLI_OPT_INT_AND_FLOAT_NATIVE (int)

Konvertiert Integer- und Float-Spalten zurück in PHP-Zahlen. Nur gültig für mysqlnd.

MYSQLI_OPT_NET_CMD_BUFFER_SIZE (int)

Die Größe des internen Kommando-/Netzwerkpuffers. Nur gültig für mysqlnd.

MYSQLI_OPT_NET_READ_BUFFER_SIZE (int)

Die Maximalgröße der Datenblöcke in Bytes, wenn der Textkörper eines MySQL-Befehlspakets gelesen wird. Nur gültig für mysqlnd.

MYSQLI_OPT_SSL_VERIFY_SERVER_CERT (int)

MYSQLI_INIT_COMMAND (int)

Das Kommando, das beim Aufbau der Verbindung zum MySQL-Server ausgeführt werden soll. Dieses Kommando wird auch bei der automatischen Wiederaufnahme der Verbindung nach Unterbrechungen ausgeführt.

MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS (int)
Teilt dem Server mit, dass der Client mit dem Sandbox-Modus für abgelaufene Passwörter umgehen kann. Kann in Verbindung mit mysqli_real_connect() verwendet werden.
MYSQLI_CLIENT_FOUND_ROWS (int)
Gibt die Anzahl der übereinstimmenden Zeilen zurück, nicht die Anzahl der betroffenen Zeilen.
MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT (int)
Überprüft das Zertifikat des Servers.
MYSQLI_CLIENT_SSL (int)

Verwendet SSL-Verschlüsselung. Diese Option sollte nicht von Anwendungen gesetzt werden, sie wird stattdessen von der MySQL-Client-Bibliothek intern gesetzt.

MYSQLI_CLIENT_COMPRESS (int)

Verwendet komprimierte Übertragung.

MYSQLI_CLIENT_INTERACTIVE (int)

Unterbricht die Verbindung nach interactive_timeout Sekunden Inaktivität (an Stelle von wait_timeout). Die wait_timeout-Variable der Verbindungs-Session wird auf den Wert der interactive_timeout-Variablen der Session gesetzt.

MYSQLI_CLIENT_IGNORE_SPACE (int)

Ermöglicht Leerzeichen nach Funktionsnamen, dadurch werden alle Funktionsnamen automatisch zu reservierten Worten.

MYSQLI_CLIENT_NO_SCHEMA (int)

Deaktiviert die datenbank.tabelle.spalte-Syntax.

MYSQLI_CLIENT_MULTI_QUERIES

Ermöglicht mehrere durch Semikolon getrennte Abfragen innerhalb eines einzelnen mysqli_query()-Aufrufs.

MYSQLI_STORE_RESULT (int)

Die Abfrageergebnisse werden clientseitig gepuffert. Diese Konstante hat den Wert 0.

MYSQLI_STORE_RESULT_COPY_DATA (int)
Seit PHP 8.1 hat diese Konstante keine Wirkung mehr. Vor PHP 8.1 wurde diese Konstante verwendet, um Ergebnisse aus dem internen mysqlnd-Puffer in die abgerufenen PHP-Variablen zu kopieren. Standardmäßig verwendet mysqlnd eine Referenzlogik, um zu vermeiden, dass im Speicher befindliche Ergebnisse kopiert und dupliziert werden. Für bestimmte Ergebnismengen, z. B. Ergebnismengen mit vielen kleinen Zeilen, kann der Kopieransatz den Gesamtspeicherverbrauch reduzieren, weil die PHP-Variablen mit den Ergebnissen früher freigegeben werden können. Nur in Verbindung mit mysqlnd verfügbar. Veraltet seit PHP 8.4.0.
MYSQLI_USE_RESULT (int)

Die Abfrageergebnisse werden nicht clientseitig gepuffert. Diese Konstante hat den Wert 1.

MYSQLI_ASSOC (int)

Die Spaltenwerte werden als Array mit dem Spaltennamen als Schlüssel zurückgegeben.

MYSQLI_NUM (int)

Die Spaltenwerte werden als Array mit der Spaltennummer als Schlüssel zurückgegeben.

MYSQLI_BOTH (int)

Die Spaltenwerte werden als Array mit sowohl der Spaltennummer als auch dem Spaltennamen als Schlüssel zurückgegeben.

MYSQLI_NOT_NULL_FLAG (int)

Gibt an, dass eine Spalte als NOT NULL definiert ist.

MYSQLI_PRI_KEY_FLAG (int)

Die Spalte ist Teil eines Primärschlüssels.

MYSQLI_UNIQUE_KEY_FLAG (int)

Die Spalte ist Teil eines Unique-Index.

MYSQLI_MULTIPLE_KEY_FLAG (int)

Die Spalte ist Teil eines Index.

MYSQLI_BLOB_FLAG (int)

Die Spalte ist als BLOB definiert.

MYSQLI_UNSIGNED_FLAG (int)

Die Spalte ist als UNSIGNED definiert.

MYSQLI_ZEROFILL_FLAG (int)

Die Spalte ist als ZEROFILL definiert.

MYSQLI_AUTO_INCREMENT_FLAG (int)

Die Spalte ist als AUTO_INCREMENT definiert.

MYSQLI_TIMESTAMP_FLAG (int)

Die Spalte ist als TIMESTAMP definiert.

MYSQLI_SET_FLAG (int)

Die Spalte ist als SET definiert.

MYSQLI_NUM_FLAG (int)

Die Spalte ist als NUMERIC definiert.

MYSQLI_PART_KEY_FLAG (int)

Die Spalte ist Teil eines mehrspaltigen Index.

MYSQLI_GROUP_FLAG (int)

Die Spalte ist Teil der GROUP BY-Bedingung.

MYSQLI_NO_DEFAULT_VALUE_FLAG (int)
In der Definition einer Spalte gibt es keine DEFAULT-Klausel. Dies gilt nicht für NULL- oder AUTO_INCREMENT-Spalten, weil solche Spalten einen Standardwert von NULL bzw. einen impliziten Standardwert haben.
MYSQLI_TYPE_DECIMAL (int)

Die Spalte ist als DECIMAL definiert.

MYSQLI_TYPE_NEWDECIMAL (int)

Die Spalte ist als DECIMAL oder NUMERIC definiert.

MYSQLI_TYPE_BIT (int)

Die Spalte ist als BIT definiert.

MYSQLI_TYPE_TINY (int)

Die Spalte ist als TINYINT definiert.

MYSQLI_TYPE_SHORT (int)

Die Spalte ist als SMALLINT definiert.

MYSQLI_TYPE_LONG (int)

Die Spalte ist als INT definiert.

MYSQLI_TYPE_FLOAT (int)

Die Spalte ist als FLOAT definiert.

MYSQLI_TYPE_DOUBLE (int)

Die Spalte ist als DOUBLE definiert.

MYSQLI_TYPE_NULL (int)

Die Spalte ist als DEFAULT NULL definiert.

MYSQLI_TYPE_TIMESTAMP (int)

Die Spalte ist als TIMESTAMP definiert.

MYSQLI_TYPE_LONGLONG (int)

Die Spalte ist als BIGINT definiert.

MYSQLI_TYPE_INT24 (int)

Die Spalte ist als MEDIUMINT definiert.

MYSQLI_TYPE_DATE (int)

Die Spalte ist als DATE definiert.

MYSQLI_TYPE_TIME (int)

Die Spalte ist als TIME definiert.

MYSQLI_TYPE_DATETIME (int)

Die Spalte ist als DATETIME definiert.

MYSQLI_TYPE_YEAR (int)

Die Spalte ist als YEAR definiert.

MYSQLI_TYPE_NEWDATE (int)

Die Spalte ist als DATE definiert.

MYSQLI_TYPE_INTERVAL (int)

Alias von MYSQLI_TYPE_ENUM. Entfernt in PHP 8.4.0.

MYSQLI_TYPE_ENUM (int)

Die Spalte ist als ENUM definiert.

MYSQLI_TYPE_SET (int)

Die Spalte ist als SET definiert.

MYSQLI_TYPE_TINY_BLOB (int)

Die Spalte ist als TINYBLOB definiert.

MYSQLI_TYPE_MEDIUM_BLOB (int)

Die Spalte ist als MEDIUMBLOB definiert.

MYSQLI_TYPE_LONG_BLOB (int)

Die Spalte ist als LONGBLOB definiert.

MYSQLI_TYPE_BLOB (int)

Die Spalte ist als BLOB definiert.

MYSQLI_TYPE_VAR_STRING (int)

Die Spalte ist als VARCHAR definiert.

MYSQLI_TYPE_STRING (int)

Die Spalte ist als CHAR oder BINARY definiert.

MYSQLI_TYPE_CHAR (int)

Die Spalte ist als TINYINT definiert. Für CHAR, siehe MYSQLI_TYPE_STRING.

MYSQLI_TYPE_GEOMETRY (int)

Die Spalte ist als GEOMETRY definiert.

MYSQLI_TYPE_JSON (int)

Die Spalte ist als JSON definiert. Nur gültig für mysqlnd und MySQL 5.7.8 und höher.

MYSQLI_TYPE_VECTOR (int)

Die Spalte ist als VECTOR definiert.

MYSQLI_NEED_DATA

Weitere Daten für eine gebundene Variable verfügbar.

MYSQLI_ENUM_FLAG (int)

Die Spalte ist als ENUM definiert.

MYSQLI_BINARY_FLAG (int)

Die Spalte ist als BINARY definiert.

MYSQLI_CURSOR_TYPE_FOR_UPDATE (int)

Entfernt in PHP 8.4.0.

MYSQLI_CURSOR_TYPE_NO_CURSOR (int)

MYSQLI_CURSOR_TYPE_READ_ONLY (int)

MYSQLI_CURSOR_TYPE_SCROLLABLE (int)

Entfernt in PHP 8.4.0.

MYSQLI_STMT_ATTR_CURSOR_TYPE (int)

MYSQLI_STMT_ATTR_PREFETCH_ROWS (int)

Entfernt in PHP 8.4.0.

MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH (int)

MYSQLI_SET_CHARSET_NAME (int)

MYSQLI_REPORT_INDEX (int)

Meldet, wenn kein Index oder ein ungültiger Index in einer Abfrage verwendet wurde.

MYSQLI_REPORT_ERROR (int)

Meldet Fehler von mysqli-Funktionsaufrufen.

MYSQLI_REPORT_STRICT (int)

Löst bei Fehlern eine mysqli_sql_exception aus, anstatt eine Warnung zu erzeugen.

MYSQLI_REPORT_ALL (int)

Aktiviert alle Meldungs-Optionen.

MYSQLI_REPORT_OFF (int)

Schaltet die Meldungen aus.

MYSQLI_DEBUG_TRACE_ENABLED (int)

Wenn dies gleich 1 ist, dann steht die mysqli_debug()-Funktionalität zur Verfügung.

MYSQLI_SERVER_PUBLIC_KEY (int)

MYSQLI_REFRESH_GRANT (int)

Aktualisiert die Berechtigungstabellen. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_LOG (int)

Leert die Logs so, wie die Ausführung der SQL-Anweisung FLUSH LOGS. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_TABLES (int)

Leert den Tabellen-Zwischenspeicher so, wie die Ausführung der SQL-Anweisung FLUSH TABLES. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_HOSTS (int)

Leert den Host-Zwischenspeicher so, wie die Ausführung der SQL-Anweisung FLUSH HOSTS. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_REPLICA (int)

Alias der MYSQLI_REFRESH_SLAVE-Konstante. Verfügbar seit PHP 8.1.0. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_STATUS (int)

Setzt die Statusvariablen so zurück, wie die Ausführung der SQL-Anweisung FLUSH STATUS. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_THREADS (int)

Leert den Thread-Zwischenspeicher. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_SLAVE (int)

Auf einem Slave-Replikationsserver: Setzt die Master-Server-Informationen zurück und führt einen Neustart des Slave durch. Dies ist wie die Ausführung der SQL-Anweisung RESET SLAVE. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_MASTER (int)

Auf einem Master-Replikationsserver: Entfernt die binären Protokolldateien, die im binären Protokollindex aufgeführt werden, und schneidet die Indexdatei ab. Dies ist wie die Ausführung der SQL-Anweisung RESET MASTER. Veraltet seit PHP 8.4.0.

MYSQLI_REFRESH_BACKUP_LOG (int)
Schließt die Backup-Logdateien und öffnet sie wieder. Veraltet seit PHP 8.4.0.
MYSQLI_TRANS_COR_AND_CHAIN (int)

Fügt "AND CHAIN" an mysqli_commit() oder mysqli_rollback() an.

MYSQLI_TRANS_COR_AND_NO_CHAIN (int)

Fügt "AND NO CHAIN" an mysqli_commit() oder mysqli_rollback() an.

MYSQLI_TRANS_COR_RELEASE (int)

Fügt "RELEASE" an mysqli_commit() oder mysqli_rollback() an.

MYSQLI_TRANS_COR_NO_RELEASE (int)

Fügt "NO RELEASE" an mysqli_commit() oder mysqli_rollback() an.

MYSQLI_TRANS_START_READ_ONLY (int)

Beginnt die Transaktion als "START TRANSACTION READ ONLY" mit mysqli_begin_transaction().

MYSQLI_TRANS_START_READ_WRITE (int)

Beginnt die Transaktion als "START TRANSACTION READ WRITE" mit mysqli_begin_transaction().

MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT (int)

Beginnt die Transaktion als "START TRANSACTION WITH CONSISTENT SNAPSHOT".

MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT (int)

Benötigt MySQL 5.6.5 und höher.

MYSQLI_IS_MARIADB (bool)

Gibt an, ob die mysqli-Erweiterung gegen eine MariaDB-Client-Bibliothek erstellt wurde. Verfügbar seit PHP 8.1.2.

MYSQLI_ASYNC (int)
Die Abfrage wird asynchron durchgeführt und es wird nicht sofort eine Ergebnismenge zurückgegeben. Nur mit mysqlnd verfügbar.
MYSQLI_ON_UPDATE_NOW_FLAG (int)
Wenn ein Feld aktualisiert wird, erhält es die aktuelle Zeit.
add a note

User Contributed Notes 2 notes

up
1
Anonymous
16 years ago
MYSQLI_TYPE_SHORT is used for SMALLINT, not INT
up
-2
jeriba4 at googlemail dot com
11 years ago
Note that although CHAR is an explicite string type within MySQL,
MYSQLI_TYPE_CHAR is interpreted the same way as MYSQLI_TYPE_TINY, which is the TINYINT numeric type within MySQL.
As a consequence, you cannot distinguish these two column types by using their respective type index, as both are set to integer one (1).
To Top