Die mysqli-Erweiterung ermöglicht Ihnen den Zugriff auf Funktionalitäten von MySQL 4.1 und höher. Weitere Informationen über den MySQL Datenbankserver finden Sie unter » http://www.mysql.com/
Die Dokumentation von MySQL finden Sie unter » http://dev.mysql.com/doc/
Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.
Um die Funktionalitäten dieser Erweiterung nutzen zu können, müssen Sie PHP mit Unterstützung für mysqli kompilieren.
Hinweis: Die mysqli-Erweiterung wurde erstellt, um mit den MySQL-Versionen >= 4.1 zu arbeiten. Wenn Sie eine ältere Version verwenden, sollten Sie einen Blick auf die Dokumentation der mysql-Erweiterung werfen.
Um die mysqli-Erweiterung für PHP zu installieren, benutzen Sie den Schalter --with-mysqli=mysql_config_path/mysql_config, wobei mysql_config_path auf das Verzeichnis des mysql_config-Programms verweist, das bei MySQL-Versionen größer als 4.1 vorhanden ist.
Wenn Sie die Standard-MySQL-Erweiterung zusammen mit der mysqli-Erweiterung installieren möchten, müssen Sie für beide die gleiche Client-Bibliothek verwenden, um Konflikten vorzubeugen.
MySQLi ist nicht standardmäßig aktiviert, daher muss die php_mysqli.dll-DLL in der php.ini selbst aktiviert werden. Dafür benötigt PHP den Zugriff auf die MySQL client library. Eine Datei namens libmysql.dll ist bereits in der PHP-Distribution für Windows enthalten, und um die Kommunikation zwischen PHP und MySQL herzustellen, muss die Datei über die Windows-Systemvariable PATH erreichbar sein. Lesen Sie dazu auch den FAQ-Eintrag "Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?", um weitere Informationen über das dafür benötigte Vorgehen zu erhalten. Obwohl es auch möglich wäre, die libmysql.dll in das Windows-Systemverzeichnis zu kopieren, um die Datei ansprechen zu können (das Systemverzeichnis ist standardmäßig in der PATH-Variable enthalten), wird dieses Vorgehen keinesfalls empfohlen.
Hinweis: Um MySQL 5 anzusprechen, empfehlen wir, die passenden Binärdateien direkt von » http://dev.mysql.com/downloads/connector/php/ herunterzuladen.
Wie bei der Aktivierung jeder anderen PHP-Extension (wie z.B. php_mysqli.dll) sollte auch hier die PHP-Direktive extension_dir auf das Verzeichnis zeigen, in dem die vorhandenen PHP-Extensions liegen. Lesen Sie dazu auch den Abschnitt Manual Windows Installation Instructions. Ein entsprechender extension_dir-Wert für PHP 5 könnte zum Beispiel c:\php\ext sein.
Hinweis: Wenn beim Starten des Webservers ein Fehler ähnlich dem folgenden auftritt: "Unable to load dynamic library './php_mysqli.dll'", wird im Normalfall die php_mysqli.dll und/oder die libmysql.dll nicht vom System gefunden.
Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.
Name | Standard | Änderbar | Changelog |
---|---|---|---|
mysqli.max_links | "-1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.0.0 |
mysqli.default_port | 3306 | PHP_INI_ALL | verfügbar seit PHP 5.0.0 |
mysqli.default_socket | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0 |
mysqli.default_host | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0 |
mysqli.default_user | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0 |
mysqli.default_pw | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0 |
Für weitere Details und Definitionen über die oben genannten PHP_INI_*-Konstanten sehen Sie im Kapitel über Konfigurations-Änderungen nach.
Hier eine kurze Erklärung der Konfigurationsoptionen:
Die maximale Anzahl von MySQL-Verbindungen pro Prozess.
Die Standard-TCP-Portnummer, die benutzt werden soll, wenn eine Verbindung zum Datenbankserver aufgenommen werden soll und kein anderer Port explizit angegeben wurde. Wenn hier kein Standardport angegeben wird, wird der Port aus der MYSQL_TCP_PORT Umgebungs-Variable, dem mysql-tcp-Eintrag in der /etc/services oder der compile-time MYSQL_PORT-Konstante (in dieser Reihenfolge) verwendet.
Der Standard-Socketname, der beim Verbindungsaufbau zu einem lokalen Datenbankserver verwendet wird, sofern kein anderer Socketname angegeben wurde.
Der Standard-Server-Host, der beim Verbindungsaufbau zu einem lokalen Datenbankserver verwendet wird, sofern kein anderer Host angegeben wurde. Funktioniert nicht im Safe Mode.
Der Standard-Username, der beim Verbindungsaufbau zu einem lokalen Datenbankserver verwendet wird, sofern kein anderer Name angegeben wurde. Funktioniert nicht im Safe Mode.
Das Standard-Passwort, das beim Verbindungsaufbau zu einem lokalen Datenbankserver verwendet wird, sofern kein anderes Passwort angegeben wurde. Funktioniert nicht im Safe Mode.
Stellt eine Verbindung zwischen PHP und einer MySQL-Datenbank dar.
Stellt eine vorbereitete Anfrage dar.
Stellt den Ergebnissatz einer zuvor ausgeführten Anfrage an die Datenbank dar.
Name | Beschreibung |
---|---|
MYSQLI_READ_DEFAULT_GROUP (integer) | |
MYSQLI_READ_DEFAULT_FILE (integer) | |
MYSQLI_OPT_CONNECT_TIMEOUT (integer) | |
MYSQLI_OPT_LOCAL_INFILE (integer) | |
MYSQLI_INIT_COMMAND (integer) | |
MYSQLI_CLIENT_SSL (integer) | |
MYSQLI_CLIENT_COMPRESS (integer) | |
MYSQLI_CLIENT_INTERACTIVE (integer) | |
MYSQLI_CLIENT_IGNORE_SPACE (integer) | |
MYSQLI_CLIENT_NO_SCHEMA (integer) | |
MYSQLI_CLIENT_MULTI_QUERIES (integer) | |
MYSQLI_STORE_RESULT (integer) | |
MYSQLI_USE_RESULT (integer) | |
MYSQLI_ASSOC (integer) | |
MYSQLI_NUM (integer) | |
MYSQLI_BOTH (integer) | |
MYSQLI_NOT_NULL_FLAG (integer) | |
MYSQLI_PRI_KEY_FLAG (integer) | |
MYSQLI_UNIQUE_KEY_FLAG (integer) | |
MYSQLI_MULTIPLE_KEY_FLAG (integer) | |
MYSQLI_BLOB_FLAG (integer) | |
MYSQLI_UNSIGNED_FLAG (integer) | |
MYSQLI_ZEROFILL_FLAG (integer) | |
MYSQLI_AUTO_INCREMENT_FLAG (integer) | |
MYSQLI_TIMESTAMP_FLAG (integer) | |
MYSQLI_SET_FLAG (integer) | |
MYSQLI_NUM_FLAG (integer) | |
MYSQLI_PART_KEY_FLAG (integer) | |
MYSQLI_GROUP_FLAG (integer) | |
MYSQLI_TYPE_DECIMAL (integer) | |
MYSQLI_TYPE_TINY (integer) | |
MYSQLI_TYPE_SHORT (integer) | |
MYSQLI_TYPE_LONG (integer) | |
MYSQLI_TYPE_FLOAD (integer) | |
MYSQLI_TYPE_DOUBLE (integer) | |
MYSQLI_TYPE_NULL (integer) | |
MYSQLI_TYPE_TIMESTAMP (integer) | |
MYSQLI_TYPE_LONGLONG (integer) | |
MYSQLI_TYPE_INT24 (integer) | |
MYSQLI_TYPE_DATE (integer) | |
MYSQLI_TYPE_TIME (integer) | |
MYSQLI_TYPE_DATETIME (integer) | |
MYSQLI_TYPE_YEAR (integer) | |
MYSQLI_TYPE_NEWDATE (integer) | |
MYSQLI_TYPE_ENUM (integer) | |
MYSQLI_TYPE_SET (integer) | |
MYSQLI_TYPE_TINY_BLOB (integer) | |
MYSQLI_TYPE_MEDIUM_BLOB (integer) | |
MYSQLI_TYPE_LONG_BLOB (integer) | |
MYSQLI_TYPE_BLOB (integer) | |
MYSQLI_TYPE_VAR_STRING (integer) | |
MYSQLI_TYPE_STRING (integer) | |
MYSQLI_TYPE_CHAR (integer) | |
MYSQLI_TYPE_INTERVAL (integer) | |
MYSQLI_TYPE_GEOMETRY (integer) | |
MYSQLI_BIND_STRING (integer) | |
MYSQLI_BIND_INT (integer) | |
MYSQLI_BIND_DOUBLE (integer) | |
MYSQLI_BIND_SEND_DATA (integer) | |
MYSQLI_RPL_MASTER (integer) | |
MYSQLI_RPL_SLAVE (integer) | |
MYSQLI_RPL_ADMIN (integer) | |
MYSQLI_NEED_DATA (integer) | |
MYSQLI_NO_DATA (integer) | |
MYSQLI_PR_REPORT_STDERR (integer) | |
MYSQLI_PR_REPORT_PORT (integer) | |
MYSQLI_PR_REPORT_FILE (integer) |