PHP MySQL funktioner

PHP MySQL-introduktion

MySQL-funktioner giver dig adgang til MySQL-databasemaskinen.

Installer

For at kunne bruge funktionerne i denne klasse skal MySQL-støtte tilføjes ved kompilering af PHP.

Brug kun konfigurationsindstillingen --with-mysql[=DIR] ved kompilering, hvor det valgfri [DIR] peger på MySQL's installationsmappe.

Selvom denne MySQL-udvidelsesbibliotek er kompatibel med MySQL 4.1.0 og senere versioner, understøtter den ikke de ekstra funktioner, der leveres af disse versioner. For at bruge disse funktioner skal du bruge MySQLi-udvidelsesbiblioteket.

Hvis mysql-udvidelsesbiblioteket og mysqli-udvidelsesbiblioteket skal installeres samtidig, skal samme klientbibliotek bruges for at undgå eventuelle konflikter.

Installer på Linux-system

PHP 4

Standardindstillingen er at aktivere --with-mysql-indstillingen. Dette standardopførsel kan forbydes ved hjælp af konfigurationsindstillingen --without-mysql. Hvis MySQL aktiveres uden at specificere installationsmappen, vil PHP bruge de bundne MySQL klientforbindelsesbiblioteker.

Brugere af andre applikationer, der bruger MySQL (f.eks. auth-mysql), skal ikke bruge de bundne biblioteker, men specificere MySQL's installationsmappe, såsom: --with-mysql=/sti/til/mysql. Dette vil tvunget PHP til at bruge klientforbindelsesbiblioteket, der er installeret med MySQL, og undgå eventuelle konflikter.

PHP 5+

MySQL er som standard ikke aktiveret, og der er ingen bundet MySQL-biblioteker. Brug konfigurationsindstillingen --with-mysql[=DIR] for at tilføje MySQL-støtte. Du kan finde MySQL Download hovedfilen og biblioteket.

Installer på Windows-system

PHP 4

PHP MySQL-udvidelsen er allerede kompilert ind i PHP.

PHP 5+

MySQL er som standard ikke aktiveret, og derfor skal php_mysql.dll dynamiske bibliotek aktiveres i php.ini. Derudover skal PHP have adgang til MySQL klientforbindelsesbiblioteket. PHP's Windows-version inkluderer en libmysql.dll, og for at PHP kan kommunikere med MySQL, skal denne fil placeres i Windows' systemstien PATH.

For at aktivere PHP-udvidelsesbiblioteker (f.eks. php_mysql.dll) skal PHP-instruktionen extension_dir sættes til mappen, hvor PHP-udvidelsesbibliotekerne findes. Et eksempel på værdi for extension_dir i PHP 5 er c:\php\ext.

Kommentarer:Hvis der opstår fejl som "Unable to load dynamic library './php_mysql.dll'" ved opstart af web serveren, skyldes det, at systemet ikke kan finde php_mysql.dll og / eller libmysql.dll.

Runtime konfiguration

Opførslen af MySQL-funktioner påvirkes af indstillingerne i php.ini.

MySQL konfigurationsindstillinger:

Navn Standard Beskrivelse Kan ændres
mysql.allow_persistent "1" Om det er tilladt vedvarende forbindelser til MySQL. PHP_INI_SYSTEM
mysql.max_persistent "-1" Største antal vedvarende forbindelser i hver proces. PHP_INI_SYSTEM
mysql.max_links "-1" Største antal forbindelser i hver proces, herunder vedvarende forbindelser. PHP_INI_SYSTEM
mysql.trace_mode "0" Sporingsmode. Tilgængelig fra PHP 4.3.0. PHP_INI_ALL
mysql.default_port NULL Angiv standard TCP-portnummer for forbindelse til database. PHP_INI_ALL
mysql.default_socket NULL Standard socketnavn. Tilgængelig fra PHP 4.0.1. PHP_INI_ALL
mysql.default_host NULL Standard serveradresse. Ikke anvendt i SQL sikkerhedstilstand. PHP_INI_ALL
mysql.default_user NULL Standard brugt brugernavn. Ikke anvendt i SQL sikkerhedstilstand. PHP_INI_ALL
mysql.default_password NULL Standard brugt adgangskode. Ikke anvendt i SQL sikkerhedstilstand. PHP_INI_ALL
mysql.connect_timeout "60" Forbindelsestidsudløb i sekunder. PHP_INI_ALL

Ressourcestypen

To MySQL module brugt to typer af ressourcer. Den første er database connection handle, den anden er SQL forespørgsel, der returnerer resultatsæt.

PHP MySQL funktioner

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

函数 Beskrivelse 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 数据库。

Brug mysql_query() i stedet.

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() Få navnet på det angivne felt i resultaterne. 3
mysql_field_seek() Sæt pegefunktionen i resultatsættet til den angivne feltforskydning. 3
mysql_field_table() Få tabelnavnet, hvor det angivne felt er placeret. 3
mysql_field_type() Få typen af det angivne felt i resultatsættet. 3
mysql_free_result() Løs resultaterne frigivelse af hukommelse. 3
mysql_get_client_info() Få MySQL-klientinformation. 4
mysql_get_host_info() Få MySQL-værtsinformation. 4
mysql_get_proto_info() Få MySQL-protokollinformation. 4
mysql_get_server_info() Få MySQL-serverens information. 4
mysql_info() Få information om den seneste forespørgsel. 4
mysql_insert_id() Få ID'et genereret af den seneste INSERT-operation. 3
mysql_list_dbs() List alle databaser på MySQL-serveren. 3
mysql_list_fields()

Ikke godkendt. List felterne i MySQL-resultatet.

Brug mysql_query() i stedet.

3
mysql_list_processes() List MySQL-processer. 4
mysql_list_tables()

Ikke godkendt. List MySQL-databasens tabeller.

Brug mysql_query() i stedet.

3
mysql_num_fields() Få antallet af felter i resultatsættet. 3
mysql_num_rows() Få antallet af rækker i resultatsættet. 3
mysql_pconnect() Åbn en vedvarende forbindelse til MySQL-serveren. 3
mysql_ping() Ping en serverforbindelse, og genforbind, hvis der ikke er en forbindelse. 4
mysql_query() Send en MySQL-forespørgsel. 3
mysql_real_escape_string() Escape specialtegn i strengene, der bruges i SQL-sætninger. 4
mysql_result() Få resultaterne data. 3
mysql_select_db() Vælg MySQL-databasen. 3
mysql_stat() Få den nuværende systemstatus. 4
mysql_tablename() Ikke godkendt. Få tabelnavnet. Brug mysql_query() i stedet. 3
mysql_thread_id() Returner ID'et for den aktuelle tråd. 4
mysql_unbuffered_query() Send en SQL-forespørgsel til MySQL (få ikke / cache resultater). 4

PHP MySQL konstanter

I versioner af PHP efter 4.3.0 er det muligt at specificere flere klientmærker i mysql_connect() funktionen og mysql_pconnect() funktionen:

PHP:Indikerer den tidligste PHP-version, der understøtter denne konstant.

Konstanter Beskrivelse PHP
MYSQL_CLIENT_COMPRESS Brug komprimeret kommunikationsprotokol. 4.3
MYSQL_CLIENT_IGNORE_SPACE Tillader at lade stå et mellemrum efter funktionens navn. 4.3
MYSQL_CLIENT_INTERACTIVE Den inaktive timeout, der er tilladt før forbindelsen lukkes. 4.3
MYSQL_CLIENT_SSL Brug SSL-kryptering (kun tilgængelig i MySQL klientbibliotek version 4+). 4.3

mysql_fetch_array() funktionen bruger en konstant for at repræsentere typen af den returnerede array:

Konstanter Beskrivelse PHP
MYSQL_ASSOC De returnerede datakolonner bruger feltnavne som arrayets indeksnavne.  
MYSQL_BOTH De returnerede datakolonner bruger feltnavne og numeriske indekser som arrayets indeksnavne.  
MYSQL_NUM

De returnerede datakolonner bruger numeriske indekser som arrayets indeksnavne.

Indekset starter fra 0, hvilket angiver den første felt, der returneres.