MySQL 函数允许您访问 MySQL 数据库服务器。
1.Runtime 安装配置
为了使 MySQLi 可用,您必须对 PHP 进行编译,以支持 MySQLi 扩展。
MySQLi 扩展通过 PHP 版本 5.0.0 引入。PHP version 5.0.0 MySQL 本地驱动程序包含在 PHP 5.3.0 版。
如需安装细节,请访问:http://www.php.net/manual/zh/mysqli.installation.php
如需运行时配置细节,请访问:http://www.php.net/manual/zh/mysqli.configuration.php
MySQL 函数的行为受到 php.ini 中设置的影响。
MySQL 配置选项:
名称 | 默认 | 描述 | 可更改 |
mysql.allow_persistent | "1" | 是否允许 MySQL 的持久连接。 | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | 每个进程中最大的持久连接数目。 | PHP_INI_SYSTEM |
mysql.max_links | "-1" | 每个进程中最大的连接数,包括持久连接。 | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | 跟踪模式。从 PHP 4.3.0 起可用。 | PHP_INI_ALL |
mysql.default_port | NULL | 指定默认连接数据库的 TCP 端口号。 | PHP_INI_ALL |
mysql.default_socket | NULL | 默认的 socket 名称。PHP 4.0.1起可用。 | PHP_INI_ALL |
mysql.default_host | NULL | 默认的服务器地址。不适用于SQL安全模式。 | PHP_INI_ALL |
mysql.default_user | NULL | 默认使用的用户名。不适用于SQL安全模式。 | PHP_INI_ALL |
mysql.default_password | NULL | 默认使用的密码。不适用于SQL安全模式。 | PHP_INI_ALL |
mysql.connect_timeout | "60" | 连接超时秒数。 | PHP_INI_ALL |
2.PHP MySQL 函数
PHP:指示支持该函数的最早的 PHP 版本。
函数 | 描述 | 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 数据库。 使用 mysql_query() 代替。 | 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() | 取得结果中指定字段的字段名。 | 3 |
mysql_field_seek() | 将结果集中的指针设定为指定的字段偏移量。 | 3 |
mysql_field_table() | 取得指定字段所在的表名。 | 3 |
mysql_field_type() | 取得结果集中指定字段的类型。 | 3 |
mysql_free_result() | 释放结果内存。 | 3 |
mysql_get_client_info() | 取得 MySQL 客户端信息。 | 4 |
mysql_get_host_info() | 取得 MySQL 主机信息。 | 4 |
mysql_get_proto_info() | 取得 MySQL 协议信息。 | 4 |
mysql_get_server_info() | 取得 MySQL 服务器信息。 | 4 |
mysql_info() | 取得最近一条查询的信息。 | 4 |
mysql_insert_id() | 取得上一步 INSERT 操作产生的 ID。 | 3 |
mysql_list_dbs() | 列出 MySQL 服务器中所有的数据库。 | 3 |
mysql_list_fields() | 不赞成。列出 MySQL 结果中的字段。 使用 mysql_query() 代替。 | 3 |
mysql_list_processes() | 列出 MySQL 进程。 | 4 |
mysql_list_tables() | 不赞成。列出 MySQL 数据库中的表。 使用Use mysql_query() 代替。 | 3 |
mysql_num_fields() | 取得结果集中字段的数目。 | 3 |
mysql_num_rows() | 取得结果集中行的数目。 | 3 |
mysql_pconnect() | 打开一个到 MySQL 服务器的持久连接。 | 3 |
mysql_ping() | Ping 一个服务器连接,如果没有连接则重新连接。 | 4 |
mysql_query() | 发送一条 MySQL 查询。 | 3 |
mysql_real_escape_string() | 转义 SQL 语句中使用的字符串中的特殊字符。 | 4 |
mysql_result() | 取得结果数据。 | 3 |
mysql_select_db() | 选择 MySQL 数据库。 | 3 |
mysql_stat() | 取得当前系统状态。 | 4 |
mysql_tablename() | 不赞成。取得表名。使用 mysql_query() 代替。 | 3 |
mysql_thread_id() | 返回当前线程的 ID。 | 4 |
mysql_unbuffered_query() | 向 MySQL 发送一条 SQL 查询(不获取 / 缓存结果)。 | 4 |
3.PHP MySQL 常量
在 PHP 4.3.0 以后的版本中,允许在 mysql_connect() 函数和 mysql_pconnect() 函数中指定更多的客户端标记:
PHP:指示支持该常量的最早的 PHP 版本。
常量 | 描述 | PHP |
MYSQL_CLIENT_COMPRESS | 使用压缩的通讯协议。 | 4.3 |
MYSQL_CLIENT_IGNORE_SPACE | 允许在函数名后留空格位。 | 4.3 |
MYSQL_CLIENT_INTERACTIVE | 在关闭连接前所允许的交互超时非活动时间。 | 4.3 |
MYSQL_CLIENT_SSL | 使用 SSL 加密(仅在 MySQL 客户端库版本为 4+ 时可用)。 | 4.3 |
mysql_fetch_array() 函数使用一个常量来表示所返回数组的类型:
常量 | 描述 | PHP |
MYSQL_ASSOC | 返回的数据列使用字段名作为数组的索引名。 | |
MYSQL_BOTH | 返回的数据列使用字段名及数字索引作为数组的索引名。 | |
MYSQL_NUM | 返回的数据列使用数字索引作为数组的索引名。 索引从 0 开始,表示返回结果的第一个字段。 |
1.mysql_fetch_array() 函数
定义和用法
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有
返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
mysql_fetch_array(data,array_type)
参数 | 描述 |
data | 可选。规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。 |
array_type | 可选。规定返回哪种结果。可能的值: MYSQL_ASSOC - 关联数组 MYSQL_NUM - 数字数组 MYSQL_BOTH - 默认。同时产生关联和数字数组 |
注释:mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。
提示:有很重要的一点必须指出,用 mysql_fetch_array() 并不明显比用 mysql_fetch_row() 慢,而且还明显提供了更多的值。
注释:本函数返回的字段名是区分大小写的。
<?php $con = mysql_connect("localhost", "root", "root"); if (!$con) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("test_db",$con); $sql = "SELECT * from Person WHERE Lastname='Adams'"; $result = mysql_query($sql,$con); print_r(mysql_fetch_array($result)); mysql_close($con); ?>
2.mysql_result() 函数
定义和用法
mysql_result() 函数返回结果集中一个字段的值。
如果成功,则该函数返回字段值。如果失败,则返回 false。
mysql_result(data,row,field)
参数 | 描述 |
data | 必需。规定要使用的结果标识符。该标识符是 mysql_query() 函数返回的。 |
row | 必需。规定行号。行号从 0 开始。 |
field | 可选。规定获取哪个字段。可以是字段偏移值,字段名或 table.fieldname。 如果该参数未规定,则该函数从指定的行获取第一个字段。 |
field可选。规定获取哪个字段。可以是字段偏移值,字段名或 table.fieldname。
如果该参数未规定,则该函数从指定的行获取第一个字段。
说明
· 当作用于很大的结果集时,应该考虑使用能够取得整行的函数。这些函数在一次函数调用中返回了多个单元的内容,比 mysql_result() 快得多。
· 此外请注意,在字段参数中指定数字偏移量比指定字段名或者 tablename.fieldname 要快得多。
<?php $con = mysql_connect("localhost", "root", "root"); if (!$con) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("test_db", $con); $sql = "SELECT * from Person"; $result = mysql_query($sql,$con); echo mysql_result($result,0); //mysql_result的使用,输出结果集中一个字段的值 mysql_close($con); ?>
3.mysql_pconnect() 函数
定义和用法
mysql_pconnect() 函数打开一个到 MySQL 服务器的持久连接。
mysql_pconnect() 和 mysql_connect() 非常相似,但有两个主要区别:
· 当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。
· 其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打开以备以后使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的连接)。
mysql_pconnect(server,user,pwd,clientflag)
参数 | 描述 |
server | 可选。规定要连接的服务器。 可以包括端口号,例如 "hostname:port",或者到本地套接字的路径,例如对于 localhost 的 ":/path/to/socket"。 如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 'localhost:3306'。 |
user | 可选。用户名。默认值是服务器进程所有者的用户名。 |
pwd | 可选。密码。默认值是空密码。 |
clientflag | 可选。client_flags 参数可以是以下常量的组合: MYSQL_CLIENT_SSL - 使用 SSL 加密 MYSQL_CLIENT_COMPRESS - 使用压缩协议 MYSQL_CLIENT_IGNORE_SPACE - 允许函数名后的间隔 MYSQL_CLIENT_INTERACTIVE - 允许关闭连接之前的交 |
提示和注释
注释:可选参数 clientflag 自 PHP 4.3.0 版起可用。
提示:要创建一个非持久连接,请使用 mysql_connect() 函数。
<?php $con = mysql_pconnect("localhost","mysql_user","mysql_pwd"); if (!$con) { die('Could not connect: ' . mysql_error()); } ?>
参考网址:
http://www.php.net/manual/zh/ref.mysql.php
http://www.w3school.com.cn/php/php_ref_mysqli.asp
原文地址:http://www.w3school.com.cn/php/php_ref_mysql.asp
转载请注明: ITTXX.CN--分享互联网 » php基础(十九)--PHP MySQL函数汇总
最后更新:2019-03-15 10:07:40