PHP MySQL Funktion

PHP MySQL Einführung

MySQL-Funktionen ermöglichen Ihnen den Zugriff auf den MySQL-Datenbankserver.

Installation

Um die Funktionen dieser Klasse problemlos verwenden zu können, muss bei der Kompilierung von PHP die Unterstützung für MySQL hinzugefügt werden.

Beim Kompilieren genügt es, die Konfigurationsoption --with-mysql[=DIR] zu verwenden, wobei das optionale [DIR] auf das Installationsverzeichnis von MySQL verweist.

Obwohl diese MySQL-Erweiterungsspeicher mit MySQL 4.1.0 und späteren Versionen kompatibel ist, unterstützt sie diese zusätzlichen Funktionen nicht. Um diese Funktionen zu verwenden, verwenden Sie bitte die MySQLi-Erweiterungsspeicher.

Wenn mysql-Erweiterungsspeicher und mysqli-Erweiterungsspeicher gleichzeitig installiert werden sollen, muss die gleiche Clientbibliothek verwendet werden, um jegliche Konflikte zu vermeiden.

Installation auf dem Linux-System

PHP 4

Die Option --with-mysql ist standardmäßig aktiviert. Dieses Standardverhalten kann mit der Konfigurationsoption --without-mysql deaktiviert werden. Wenn MySQL aktiviert wird, ohne das Installationsverzeichnis zu spezifizieren, verwendet PHP die gebundene MySQL-Clientverbindungsbibliothek.

Nutzer anderer Anwendungen, die MySQL verwenden (z.B. auth-mysql), sollten keine gebundenen Bibliotheken verwenden, sondern den Installationsverzeichnis von MySQL angeben, wie folgt: --with-mysql=/pfad/zum/mysql. Dies erzwingt die Verwendung der Clientverbindungsbibliothek, die mit MySQL installiert wird, und verhindert so jegliche Konflikte.

PHP 5+

MySQL ist standardmäßig nicht aktiviert und es gibt keine gebundenen MySQL-Bibliotheken. Verwenden Sie die Konfigurationsoption --with-mysql[=DIR], um die Unterstützung von MySQL hinzuzufügen. Sie können von MySQL Herunterladen der Header-Dateien und Bibliotheken.

Installation auf dem Windows-System

PHP 4

Das PHP MySQL-Erweiterung ist in PHP bereits kompiliert.

PHP 5+

MySQL ist standardmäßig nicht aktiviert, daher muss die dynamische Verknüpfung php_mysql.dll in der Datei php.ini aktiviert werden. Darüber hinaus muss PHP auf die MySQL-Clientverbindungsbibliothek zugreifen. Der Windows-Vertreib von PHP enthält eine libmysql.dll, um sicherzustellen, dass PHP mit MySQL kommunizieren kann, muss diese Datei im Systempfad PATH von Windows abgelegt werden.

Um jede PHP-Erweiterungsbibliothek (z.B. php_mysql.dll) zu aktivieren, muss die PHP-Anweisung extension_dir auf den Verzeichnispfad der PHP-Erweiterungsbibliotheken gesetzt werden. Ein Beispiel für den Wert von extension_dir unter PHP 5 ist c:\php\ext.

Kommentare:Wenn bei der Aktivierung des Web-Servers ähnliche Fehler wie folgt auftreten: "Unable to load dynamic library './php_mysql.dll'" bedeutet dies, dass das System php_mysql.dll und / oder libmysql.dll nicht finden kann.

Laufzeitkonfiguration

Das Verhalten der MySQL-Funktionen wird durch die Einstellungen in php.ini beeinflusst.

MySQL-Konfigurationsoptionen:

Name Standard Beschreibung Veränderbar
mysql.allow_persistent "1" Ob persistente MySQL-Verbindungen erlaubt sind. PHP_INI_SYSTEM
mysql.max_persistent "-1" Die maximale Anzahl der persistenten Verbindungen pro Prozess. PHP_INI_SYSTEM
mysql.max_links "-1" Die maximale Anzahl der Verbindungen pro Prozess, einschließlich persistenter Verbindungen. PHP_INI_SYSTEM
mysql.trace_mode "0" Verfolgungsmodus. Ab PHP 4.3.0 verfügbar. PHP_INI_ALL
mysql.default_port NULL Die Standard TCP-Portnummer für die Verbindung zur Datenbank angeben. PHP_INI_ALL
mysql.default_socket NULL Der Standardsocketname. Ab PHP 4.0.1 verfügbar. PHP_INI_ALL
mysql.default_host NULL Der Standardserveradresse. Es ist nicht für den SQL-Sicherheitsmodus geeignet. PHP_INI_ALL
mysql.default_user NULL Der Standardbenutzername, der verwendet wird. Es ist nicht für den SQL-Sicherheitsmodus geeignet. PHP_INI_ALL
mysql.default_password NULL Das Standardpasswort, das verwendet wird. Es ist nicht für den SQL-Sicherheitsmodus geeignet. PHP_INI_ALL
mysql.connect_timeout "60" Verbindungsüberschreitung in Sekunden. PHP_INI_ALL

Ressourcetyp

In der MySQL-Modul werden zwei Ressourcentypen verwendet. Der erste ist der Datenbankverbindungshandle, der zweite ist das Ergebnissatz der SQL-Abfrage.

PHP MySQL Funktion

PHP:指示支持该函数的最早的 PHP 版本。

函数 Beschreibung PHP
mysql_affected_rows() 取得前一次 MySQL 操作所影响的记录行数。 3
mysql_change_user() 不赞成。改变活动连接中登录的用户 3
mysql_client_encoding() 返回当前连接的字符集的名称 4
mysql_close() 关闭非持久的 MySQL 连接。 3
mysql_connect() 打开非持久的 MySQL 连接。 3
mysql_create_db() 不赞成。新建 MySQL 数据库。使用 mysql_query() 代替。 3
mysql_data_seek() 移动记录指针。 3
mysql_db_name() 从对 mysql_list_dbs() 的调用返回数据库名称。 3
mysql_db_query()

不赞成。发送一条 MySQL 查询。

使用 mysql_select_db() 和 mysql_query() 代替。

3
mysql_drop_db()

不赞成。丢弃(删除)一个 MySQL 数据库。

Verwenden Sie mysql_query() anstelle davon.

3
mysql_errno() 返回上一个 MySQL 操作中的错误信息的数字编码。 3
mysql_error() 返回上一个 MySQL 操作产生的文本错误信息。 3
mysql_escape_string()

不赞成。转义一个字符串用于 mysql_query。

使用 mysql_real_escape_string() 代替。

4
mysql_fetch_array() 从结果集中取得一行作为关联数组,或数字数组,或二者兼有。 3
mysql_fetch_assoc() 从结果集中取得一行作为关联数组。 4
mysql_fetch_field() 从结果集中取得列信息并作为对象返回。 3
mysql_fetch_lengths() 取得结果集中每个字段的内容的长度。 3
mysql_fetch_object() 从结果集中取得一行作为对象。 3
mysql_fetch_row() 从结果集中取得一行作为数字数组。 3
mysql_field_flags() 从结果中取得和指定字段关联的标志。 3
mysql_field_len() 返回指定字段的长度。 3
mysql_field_name() Erhalten Sie den Feldnamen des angegebenen Feldes in den Ergebnissen. 3
mysql_field_seek() Setzen Sie den Zeiger in der Ergebnismenge auf den angegebenen Feldoffset. 3
mysql_field_table() Erhalten Sie den Tabellennamen, in dem das angegebene Feld sich befindet. 3
mysql_field_type() Erhalten Sie den Typ des angegebenen Feldes in der Ergebnismenge. 3
mysql_free_result() Freigeben Sie den Speicher der Ergebnisse. 3
mysql_get_client_info() Erhalten Sie Informationen zum MySQL-Client. 4
mysql_get_host_info() Erhalten Sie Informationen zum MySQL-Host. 4
mysql_get_proto_info() Erhalten Sie Informationen zum MySQL-Protokoll. 4
mysql_get_server_info() Erhalten Sie Informationen zum MySQL-Server. 4
mysql_info() Erhalten Sie Informationen zur letzten Abfrage. 4
mysql_insert_id() Erhalten Sie die ID, die durch die vorherige INSERT-Operation erzeugt wurde. 3
mysql_list_dbs() Liste alle Datenbanken auf dem MySQL-Server. 3
mysql_list_fields()

Nicht empfohlen. Listen Sie die Felder in den MySQL-Ergebnissen auf.

Verwenden Sie mysql_query() anstelle davon.

3
mysql_list_processes() Liste die MySQL-Prozesse auf. 4
mysql_list_tables()

Nicht empfohlen. Listen Sie die Tabellen in der MySQL-Datenbank auf.

Verwenden Sie mysql_query() anstelle davon.

3
mysql_num_fields() Erhalten Sie die Anzahl der Felder in der Ergebnismenge. 3
mysql_num_rows() Erhalten Sie die Anzahl der Zeilen in der Ergebnismenge. 3
mysql_pconnect() Öffnen Sie eine dauerhafte Verbindung zu einem MySQL-Server. 3
mysql_ping() Pingen Sie eine Serververbindung, verbinden Sie sich neu, wenn keine Verbindung besteht. 4
mysql_query() Senden Sie eine MySQL-Abfrage. 3
mysql_real_escape_string() Verwenden Sie spezielle Zeichen in den von SQL-Anweisungen verwendeten Zeichenfolgen zu escapen. 4
mysql_result() Erhalten Sie die Daten der Ergebnisse. 3
mysql_select_db() Wählen Sie die MySQL-Datenbank. 3
mysql_stat() Erhalten Sie den aktuellen Systemstatus. 4
mysql_tablename() Nicht empfohlen. Erhalten Sie den Tabellennamen. Verwenden Sie mysql_query() anstelle davon. 3
mysql_thread_id() Gibt die ID der aktuellen Thread zurück. 4
mysql_unbuffered_query() Eine SQL-Abfrage an MySQL senden (ohne Ergebnisse zu erhalten / zu cachen). 4

PHP MySQL Konstanten

Ab Version 4.3.0 von PHP ist es erlaubt, zusätzliche Client-Tags in den mysql_connect() und mysql_pconnect() Funktionen zu spezifizieren:

PHP:Zeigt die frühestmögliche PHP-Version an, die die Konstante unterstützt.

Konstanten Beschreibung PHP
MYSQL_CLIENT_COMPRESS Verwenden Sie komprimierte Kommunikationsprotokolle. 4.3
MYSQL_CLIENT_IGNORE_SPACE Erlaubt Leerzeichen nach dem Funktionsnamen. 4.3
MYSQL_CLIENT_INTERACTIVE Inaktivitätszeit, die vor dem Schließen der Verbindung erlaubt wird. 4.3
MYSQL_CLIENT_SSL SSL-Verschlüsselung verwenden (nur verfügbar, wenn die Version der MySQL-Clientbibliothek 4+ ist). 4.3

Die mysql_fetch_array() Funktion verwendet eine Konstante, um den Typ des zurückgegebenen Arrays anzuzeigen:

Konstanten Beschreibung PHP
MYSQL_ASSOC Die zurückgegebenen Datenzeilen verwenden Feldnamen als Array-Indizes.  
MYSQL_BOTH Die zurückgegebenen Datenzeilen verwenden Feldnamen und numerische Indizes als Array-Indizes.  
MYSQL_NUM

Die zurückgegebenen Datenzeilen verwenden numerische Indizes als Array-Indizes.

Die Indizes beginnen bei 0, was den ersten Feldwert der zurückgegebenen Ergebnisse darstellt.