MySQL相关说明

  资源类型

  在 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_CLIENT_SSL 使用 SSL 加密。本标志仅在 MySQL 客户端库版本为 4.x 或更高版本时可用。在 PHP 4 和 Windows 版的 PHP 5 安装包中绑定的都是 3.23.x。

  mysql_fetch_array() 函数使用一个常量来表示所返回数组的类型。下面是常量的定义:

  表格 3. MySQL fetch 常量

  常量 描述

  MYSQL_ASSOC 返回的数据列使用字段名作为数组的索引名。

  MYSQL_BOTH 返回的数据列使用字段名及数字索引作为数组的索引名。

  MYSQL_NUM 返回的数据列使用数字索引作为数组的索引名。索引从 0 开始,表示返回结果的第一个字段。

  注释

  注: 大多数 MySQL 函数都接受 link_identifier 作为最后一个可选参数。如果未提供此参数,则使用最后一个打开的连接。如果不存在连接,则会用 php.ini 中定义的默认参数去尝试建立连接。如果连接不成功,函数返回 FALSE。

  范例

  下面的简单例子演示如何连接数据库,执行查询语句,打印返回结果集和断开数据库等一系列基本的 MySQL 操作。 例子 1. MySQL 例子

  <?php

  // 连接,选择数据库

  $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')

  or die('Could not connect: ' . mysql_error());

  echo 'Connected successfully';

  mysql_select_db('my_database') or die('Could not select database');

  // 执行 SQL 查询

  $query = 'Select * FROM my_table';

  $result = mysql_query($query) or die('Query failed: ' . mysql_error());

  // 用 HTML 显示结果

  echo "<table>\n";

  while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {

  echo "\t<tr>\n";

  foreach ($line as $col_value) {

  echo "\t\t<td>$col_value</td>\n";

  }

  echo "\t</tr>\n";

  }

  echo "</table>\n";

  // 释放结果集

  mysql_free_result($result);

  // 关闭连接

  mysql_close($link);

  ?>

  目录

  mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数

  mysql_change_user --  改变活动连接中登录的用户

  mysql_client_encoding -- 返回字符集的名称

  mysql_close -- 关闭 MySQL 连接

  mysql_connect -- 打开一个到 MySQL 服务器的连接

  mysql_create_db -- 新建一个 MySQL 数据库

  mysql_data_seek -- 移动内部结果的指针

  mysql_db_name -- 取得结果数据

  mysql_db_query -- 发送一条 MySQL 查询

  mysql_drop_db -- 丢弃(删除)一个 MySQL 数据库

  mysql_errno --  返回上一个 MySQL 操作中的错误信息的数字编码

  mysql_error --  返回上一个 MySQL 操作产生的文本错误信息

  mysql_escape_string --  转义一个字符串用于 mysql_query

  mysql_fetch_array --  从结果集中取得一行作为关联数组,或数字数组,或二者兼有

  mysql_fetch_assoc --  从结果集中取得一行作为关联数组

  mysql_fetch_field --  从结果集中取得列信息并作为对象返回

  mysql_fetch_lengths --  取得结果集中每个输出的长度

  mysql_fetch_object -- 从结果集中取得一行作为对象

  mysql_fetch_row -- 从结果集中取得一行作为枚举数组

  mysql_field_flags --  从结果中取得和指定字段关联的标志

  mysql_field_len --  返回指定字段的长度

  mysql_field_name --  取得结果中指定字段的字段名

  mysql_field_seek --  将结果集中的指针设定为制定的字段偏移量

  mysql_field_table --  取得指定字段所在的表名

  mysql_field_type --  取得结果集中指定字段的类型

  mysql_free_result -- 释放结果内存

  mysql_get_client_info -- 取得 MySQL 客户端信息

  mysql_get_host_info -- 取得 MySQL 主机信息

  mysql_get_proto_info -- 取得 MySQL 协议信息

  mysql_get_server_info -- 取得 MySQL 服务器信息

  mysql_info --  取得最近一条查询的信息

  mysql_insert_id --  取得上一步 Insert 操作产生的 ID

  mysql_list_dbs --  列出 MySQL 服务器中所有的数据库

  mysql_list_fields -- 列出 MySQL 结果中的字段

  mysql_list_processes -- 列出 MySQL 进程

  mysql_list_tables -- 列出 MySQL 数据库中的表

  mysql_num_fields -- 取得结果集中字段的数目

  mysql_num_rows -- 取得结果集中行的数目

  mysql_pconnect --  打开一个到 MySQL 服务器的持久连接

  mysql_ping -- Ping 一个服务器连接,如果没有连接则重新连接

  mysql_query -- 发送一条 MySQL 查询

  mysql_real_escape_string --  转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集

  mysql_result -- 取得结果数据

  mysql_select_db -- 选择 MySQL 数据库

  mysql_stat -- 取得当前系统状态

  mysql_tablename -- 取得表名

  mysql_thread_id -- 返回当前线程的 ID

  mysql_unbuffered_query --  向 MySQL 发送一条 SQL 查询,并不获取和缓存结果的行