Linux&MySQL&PHP&Nginx&Apache&MSSQL&Shell
分类: 系统运维
2011-03-25 03:13:56
PHP MySQL 简介
MySQL 函数允许您访问 MySQL 数据库服务器。
安装
为了能够顺利的使用本类函数,必须在编译 PHP 时添加对 MySQL 的支持。
编译时,只要使用 --with-mysql[=DIR] 配置选项即可,其中可选的 [DIR] 指向 MySQL 的安装目录。
虽然本 MySQL 扩展库兼容 MySQL 4.1.0 及其以后版本,但是它不支持这些版本提供的额外功能。要使用这些功能,请使用 MySQLi 扩展库。
如果要同时安装 mysql 扩展库和 mysqli 扩展库,必须使用同一个客户端库以避免任何冲突。
在 Linux 系统上安装
PHP 4
默认开启了 --with-mysql 选项。此默认行为可以用 --without-mysql 配置选项来禁止。如果启用 MySQL 而不指定安装目录的话,PHP 将使用绑定的 MySQL 客户端连接库。
还有其它应用程序使用 MySQL(例如 auth-mysql)的用户不要用绑定的库,而要指定 MySQL 的安装目录,如这样:--with-mysql=/path/to/mysql。这将强制 PHP 使用随 MySQL 安装的客户端连接库,就可以避免任何冲突。
PHP 5+
MySQL 默认未启用,也没有绑定的 MySQL 库。使用 --with-mysql[=DIR] 配置选项来加入 MySQL 的支持。可以从 下载头文件和库。
在 Windows 系统上安装
PHP 4
PHP MySQL 扩展已经编译入 PHP。
PHP 5+
MySQL 默认未启用,因此必须在 php.ini 中激活 php_mysql.dll 动态连接库。此外,PHP 还需要访问 MySQL 客户端连接库。PHP 的 Windows 发行版包括了一个 libmysql.dll,为了让 PHP 能和 MySQL 对话,此文件必须放在 Windows 的系统路径 PATH 中。
要激活任何 PHP 扩展库(例如 php_mysql.dll),PHP 指令 extension_dir 要被设为 PHP 扩展库所在的目录。PHP 5 下 extension_dir 取值的一个例子是 c:\php\ext。
注释:如果启动 web 服务器时出现类似如下的错误:"Unable to load dynamic library './php_mysql.dll'",这是因为系统找不到 php_mysql.dll 和 / 或 libmysql.dll。
Runtime 配置
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 |
资源类型
在 MySQL 模块中使用了两种资源类型。第一种是数据库的连接句柄,第二种是 SQL 查询返回的结果集。
PHP MySQL 函数
PHP:指示支持该函数的最早的 PHP 版本。
函数 |
描述 |
PHP |
|
取得前一次 MySQL 操作所影响的记录行数。 |
3 |
mysql_change_user() |
不赞成。改变活动连接中登录的用户 |
3 |
|
返回当前连接的字符集的名称 |
4 |
|
关闭非持久的 MySQL 连接。 |
3 |
|
打开非持久的 MySQL 连接。 |
3 |
mysql_create_db() |
不赞成。新建 MySQL 数据库。使用 mysql_query() 代替。 |
3 |
|
移动记录指针。 |
3 |
|
从对 mysql_list_dbs() 的调用返回数据库名称。 |
3 |
mysql_db_query() |
不赞成。发送一条 MySQL 查询。 使用 mysql_select_db() 和 mysql_query() 代替。 |
3 |
mysql_drop_db() |
不赞成。丢弃(删除)一个 MySQL 数据库。 使用 mysql_query() 代替。 |
3 |
|
返回上一个 MySQL 操作中的错误信息的数字编码。 |
3 |
|
返回上一个 MySQL 操作产生的文本错误信息。 |
3 |
mysql_escape_string() |
不赞成。转义一个字符串用于 mysql_query。 使用 mysql_real_escape_string() 代替。 |
4 |
|
从结果集中取得一行作为关联数组,或数字数组,或二者兼有。 |
3 |
|
从结果集中取得一行作为关联数组。 |
4 |
|
从结果集中取得列信息并作为对象返回。 |
3 |
|
取得结果集中每个字段的内容的长度。 |
3 |
|
从结果集中取得一行作为对象。 |
3 |
|
从结果集中取得一行作为数字数组。 |
3 |
|
从结果中取得和指定字段关联的标志。 |
3 |
|
返回指定字段的长度。 |
3 |
|
取得结果中指定字段的字段名。 |
3 |
|
将结果集中的指针设定为指定的字段偏移量。 |
3 |
|
取得指定字段所在的表名。 |
3 |
|
取得结果集中指定字段的类型。 |
3 |
|
释放结果内存。 |
3 |
|
取得 MySQL 客户端信息。 |
4 |
|
取得 MySQL 主机信息。 |
4 |
|
取得 MySQL 协议信息。 |
4 |
|
取得 MySQL 服务器信息。 |
4 |
|
取得最近一条查询的信息。 |
4 |
|
取得上一步 INSERT 操作产生的 ID。 |
3 |
|
列出 MySQL 服务器中所有的数据库。 |
3 |
mysql_list_fields() |
不赞成。列出 MySQL 结果中的字段。 使用 mysql_query() 代替。 |
3 |
|
列出 MySQL 进程。 |
4 |
mysql_list_tables() |
不赞成。列出 MySQL 数据库中的表。 使用Use mysql_query() 代替。 |
3 |
|
取得结果集中字段的数目。 |
3 |
|
取得结果集中行的数目。 |
3 |
|
打开一个到 MySQL 服务器的持久连接。 |
3 |
|
Ping 一个服务器连接,如果没有连接则重新连接。 |
4 |
|
发送一条 MySQL 查询。 |
3 |
|
转义 SQL 语句中使用的字符串中的特殊字符。 |
4 |
|
取得结果数据。 |
3 |
|
选择 MySQL 数据库。 |
3 |
|
取得当前系统状态。 |
4 |
mysql_tablename() |
不赞成。取得表名。使用 mysql_query() 代替。 |
3 |
|
返回当前线程的 ID。 |
4 |
|
向 MySQL 发送一条 SQL 查询(不获取 / 缓存结果)。 |
4 |
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 开始,表示返回结果的第一个字段。 |
|