PHP Handbuch
Zurück |  | Weiter

# LXXX. Verbesserte MySQL Erweiterung

# Einführung

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/

Warnung
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.

# Anforderungen

Um die Funktionalitäten dieser Erweiterung nutzen zu können, müssen Sie PHP mit Unterstützung für mysqli kompilieren.

> Anmerkung: 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.

# Installation

Um die mysqli-Erweiterung für PHP zu installieren, benutzen Sie den Schalter --with-mysqli=mysql_config_path wobei mysql_config_path auf das Verzeichnis des mysql_config-Programms verweist, welches bei MySQL-Versionen größer als 4.1 vorhanden ist. Darüber hinaus müssen Sie die Standard- MySQL-Erweiterung deaktivieren, da diese standardmäßig aktiviert ist. Dazu verwenden Sie den Schalter --without-mysql. Wenn Sie die Standard-MySQL-Erweiterung zusammen mit der verbesserten mysqli-Erweiterung installieren möchten, können sie die mit PHP mitgelieferte und integrierte libmysql-Bibliothek nicht benutzen. Stattdessen müssen Sie Client-Bibliotheken verwenden, welche bei MySQL-Version < 4.1 installiert werden. Damit zwingen Sie PHP diese Client-Bibliotheken zu benutzen und vermeiden so Konflikte.

# Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der `php.ini` beeinflusst.

Tabelle 1. MySQLi Konfigurations-Optionen

Name | Standard | änderbar
--- | --- | ---
mysqli.max_links | "-1" | PHP_INI_SYSTEM
mysqli.default_port | NULL | PHP_INI_ALL
mysqli.default_socket | NULL | PHP_INI_ALL
mysqli.default_host | NULL | PHP_INI_ALL
mysqli.default_user | NULL | PHP_INI_ALL
mysqli.default_pw | NULL | PHP_INI_ALL

Für weitere, detailierte Informationen über die oben genannten PHP_INI_*-Konstanten sehen Sie im Kapitel über Konfigurations-Änderungen nach.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysqli.max_links integer

  Maximale Anzahl von MySQL-Verbindungen pro Prozess inklusive persistenter Verbindungen.

mysqli.default_port string

  Standard TCP-Port der 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. Unter Win32 wird nur die Konstante MYSQL_PORT verwendet.

mysqli.default_socket string

  Standard-Socketname der bei der Verbindungsaufnahme zu einem lokalen Datenbankserver verwendet wird, wenn kein anderer Socketname explizit angegegben wurde.

mysqli.default_host string

  Standard Serverhost der bei der Verbindungsaufnahme zu einem Datenbankserver verwendet wird, wenn kein anderer Hostname explizit angegeben wurde. Funktioniert nicht im safe mode.

mysqli.default_user string

  Standard Benutzername der bei der Verbindungsaufnahme zu einem Datenbankserver verwendet wird, wenn kein anderer Benutzername explizit angegeben wurde. Funktioniert nicht im safe mode.

mysqli.default_password string

  Standard Passwort das bei der Verbindungsaufnahme zu einem Datenbankserver verwendet wird, wenn kein anderes Passwort explizit angegeben wurde. Funktioniert nicht im safe mode.

# Resource Typen

## mysqli_link

Stellt eine Verbindung zwischen PHP und einer MySQL-Datenbank dar.

## mysqli_stmt

Stellt eine vorbereitete Anfrage dar.

## mysqli_result

Stellt den Ergebnissatz einer zuvor ausgeführten Anfrage an die Datenbank dar.

# Vordefinierte Konstanten

Tabelle 2. MySQLi Konstanten

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) |

Zurück | Zum Anfang | Weiter
mysql_unbuffered_query | Nach oben | mysqli_affected_rows