PHP数据库扩展之原生MySQL API
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
在写新的代码时,不推荐使用本扩展。您应该使用 mysqli 或者 PDO_MySQL 扩展代替。
安装
编译时,只要使用 --with-mysql[=DIR] 配置选项即可,其中可选的 [DIR] 指向 MySQL 的安装目录。
虽然本 MySQL 扩展库兼容 MySQL 4.1.0 及其以后版本,但是它不支持这些版本提供的额外功能。要使用这些功能,请使用 MySQLi 扩展库。
如果要同时安装 mysql 扩展库和 mysqli 扩展库,必须使用同一个客户端库以避免任何冲突。
范例
这个简单的范例展示了如何连接、执行一个查询,打印结果集后断开 MySQL 数据库的连接。
Example #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 函数
大多数 MySQL 函数的最后一个可选参数是
link_identifier
。 如果没有提供这个参数,则会使用最后一个打开的连接。 若不存在这个最后打开的连接,则会尝试用 php.ini 里定义的默认参数来连接。 如果没有成功连接,函数会返回FALSE
。
- mysql_affected_rows — 取得前一次 MySQL 操作所影响的记录行数
- 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_set_charset — 设置客户端的字符集
- mysql_stat — 取得当前系统状态
- mysql_tablename — 取得表名
- mysql_thread_id — 返回当前线程的 ID
- mysql_unbuffered_query — 向 MySQL 发送一条 SQL 查询,并不获取和缓存结果的行
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341