你可以使用该函数库访问 MySQL 数据库服务器。有关 MySQL 的详细信息可以到 http://www.mysql.com/ 查询。
MySQL 的文档可以在 http://dev.mysql.com/doc/ 找到。
为了能够顺利的使用该函数库,你必须在编译 PHP 的时候添加 MySQL 的支持。
当你选择了 --with-mysql[=DIR] 配置选项的时候,你打开了 PHP 访问 MySQL 数据库的功能。
PHP 4 默认使用了 --with-mysql 选项,因此要禁用 MySQL 必须使用 --without-mysql。在 PHP 4 中,如果你没有在配置选项中指定 MySQL 的路径信息,PHP 会使用绑定的 MySQL 客户端库。在 Windows 下,没有相关的 DLL 文件,该模块已经内建在了 PHP 内核中。用户如果运行其它使用 MySQL 的应用(例如同时使用 Apache 模块化方式运行的 PHP 3 和 PHP 4,或者 auth-mysql 模块)需要指定 MySQL的路径:--with-mysql=/path/to/mysql。这会强迫 PHP 使用 MySQL 安装的客户端库函数来避免任何冲突。
在 PHP 5 中,MySQL 不再默认的开启,MySQL 库也不再和 PHP 绑定,请阅读该 FAQ 以获取更详细的信息。
该 MySQL 扩展库无法和 4.1.0 以上版本的 MySQL 一起工作。这时,您需要使用 MySQLi。
警告 |
当该扩展模块与 recode 扩展模块共同使用的时候,可能会造成 PHP 的崩溃和启动时出现问题。请查询 recode 扩展获得更多的信息。 |
注: 如果您需要除 latin(默认)以外其它的字符集,您需要安装有已编译字符集支持的外置(未集成)libmysql。
这些函数的行为受到全局配置文件 php.ini 的影响。
表格 1. MySQL 配置选项
选项名称 | 默认值 | 可变的 |
---|---|---|
mysql.allow_persistent | "On" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL |
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "0" | PHP_INI_SYSTEM |
以下是该配置选项的简要解释。
是否允许 保持连接 到 MySQL。
每个进程中最大保持连接数。
每个进程中最大的连接数,包括保持连接。
指定默认连接数据库的 TCP 端口号。如果没有指定默认端口号,侧顺序从 MYSQL_TCP_PORT 环境变量,/etc/services 文件中的 mysql-tcp 项或者编译时指定的 MYSQL_PORT 常量中获得。Win32 环境下只会使用 MYSQL_PORT 常量。
当使用本地连接的时候,默认的 socket 名称。
默认连接的数据库服务器地址。该参数不能用于安全模式。
默认连接数据库时使用的用户名。该参数不能用于安全模式。
默认连接数据库时使用的密码。该参数不能用于安全模式。
连接超时秒数。在 Linux 中,这个参数设定了等候来自服务器的响应的时长。
在 MySQL 模块中使用了两种资源类型。第一种是数据库的连接句柄,第二种是 SQL 查询返回的结果集。
由于这些常量是由该扩展模块定义的,因此只有在该扩展模块被编译到 PHP 中,或者在运行时被动态加载后,这些常量才有效。
在 PHP 4.3.0 以后的版本中,允许在 mysql_connect() 函数和 mysql_pconnect() 函数中指定更多的客户端标记。下面列出所定义的常量:
表格 2. MySQL 客户端常量
常量 | 描述 |
---|---|
MYSQL_CLIENT_COMPRESS | 使用压缩的通讯协议 |
MYSQL_CLIENT_IGNORE_SPACE | 允许在函数名后留空格位 |
MYSQL_CLIENT_INTERACTIVE | 允许设置断开连接之前所空闲等候的 interactive_timeout 时间。(代替 wait_timeout) |
mysql_fetch_array() 函数使用一个常量来表示所返回数组的类型。下面是常量的定义:
这个简单的例子演示如何连接数据库,执行查询语句,打印返回结果集和断开数据库等一系列基本的 MySQL 操作。