php程序设计简明教程(DOC格式)-第14部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
语法格式:
bool mysql_close ( 'resource link_identifier' )
如果成功则返回 TRUE ,失败则返回 FALSE 。
mysql_close() 关闭指定的连接标识所关联的到 MySQL 服务器的连接。如果没有指定 link_identifier ,则关闭
上一个打开的连接。
通常不需要使用 mysql_close() ,因为由mysql_connect 打开的连接会在脚本执行完毕后自动关闭。但若在脚本
中间用完后,提倡使用此函数及时连接资源,以提高效率。
例子 建立和关闭MySQL 连接例子
〃Y mysql_select_db(〃test〃;server_link)
选择一个MySQL 数据库,使其成为当前数据库。一个数据库成为当前数据库,那么当前所有的操作都是针对它
的。
语法格式:
bool mysql_select_db ( string database_name '; resource link_identifier' )
如果成功则返回 TRUE ,失败则返回 FALSE 。
mysql_select_db() 设定与指定的连接标识符所关联的服务器上的当前数据库。如果没有指定连接标识符,则使
用上一个打开的连接。如果没有打开的连接,本函数将无参数调用 mysql_connect() 来尝试打开一个并使用之。
例子 mysql_select_db() 例子
〃Y mysql_query
发送一个 MySQL 查询到当前数据库,由当前数据库执行之。
语法格式:
resource mysql_query ( string query '; resource link_identifier' )
mysql_query() 向与指定的连接标识符关联的服务器中的当前数据库发送一条查询,由当前数据库执行之。
如果没有指定 link_identifier ,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用
mysql_connect() 函数来建立一个连接并使用之。
注: 查询字符串不应以分号结束。
查询结果会被缓存。
查询结果:
mysql_query() 仅对 SELECT ,SHOW ,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行
不正确则返回 FALSE 。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE ,出错时返回
FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。
以下查询语法上有错,因此 mysql_query() 失败并返回 FALSE :
以下查询当 my_col 并不是表 my_tbl 中的列时语义上有错,因此 mysql_query() 失败并返回 FALSE :
如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE 。
查询结果的查看:
查看SELECT 语句的查询结果的行数,调用 mysql_num_rows() ;
查看DELETE,INSERT,REPLACE 或 UPDATE 语句影响的行数,调用 mysql_affected_rows() 。
仅对 SELECT ,SHOW ,DESCRIBE 或 EXPLAIN 语句 mysql_query() 才会返回一个新的结果标识符,可以
将其传递给 mysql_fetch_array() 和其它处理结果表的函数。
处理完结果集后可以通过调用 mysql_free_result() 来释放与之关联的资源,尽管脚本执行完毕后会自动释放内
存。
〃Y mysql_num_rows
取得结果集中行的数目
语法格式:
int mysql_num_rows ( resource result )
mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或
者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows() 。
例子 mysql_num_rows() 例子
〃Y mysql_affected_rows
取得前一次 MySQL 操作所影响的记录行数
语法格式:
int mysql_affected_rows ( 'resource link_identifier' )
取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
例子 mysql_affected_rows() 例子
上例的输出类似于:
Records deleted: 10
Records deleted: 0
例子 使用事务处理的 mysql_affected_rows() 例子
上例的输出类似于:
Updated Records: 10
事务处理:如果使用事务处理(transactions ),需要在 INSERT ,UPDATE 或 DELETE 查询后调用
mysql_affected_rows() 函数,而不是在 MIT 命令之后。
〃Y mysql_fetch_array
从结果集中取得一行作为关联数组,或数字数组,或二者兼有。
语法格式:
array mysql_fetch_array ( resource result '; int result_type' )
返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE 。
例子 2。 mysql_fetch_array 使用 MYSQL_NUM
〃Y mysql_free_result
释放资源变量所占内存。
语法格式:
PHP 讲义 第 66 页 共 90 页
…………………………………………………………Page 67……………………………………………………………
bool mysql_free_result ( resource result )
mysql_free_result() 将释放所有与结果标识符 result 所关联的内存。
mysql_free_result() 仅需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存
都会被自动释放。
如果成功则返回 TRUE ,失败则返回 FALSE 。
3。 PHP 操纵MySQL 实例
(1)准备示例数据
使用mysql。exe 或phpMyAdmin:
在test 数据库中建立表abc,
表abc 的结构如下:
列名 类型
a varchar(10)
b varchar(10)
c varchar(10)
在表abc 中插入示例数据:
列a 的数据 列b 中的数据 列c 的数据
a1 b1 c1
a2 b2 c2
a3 b3 c3
(2 )准备示例程序abc。php,存放在发布文档目录d:www 下,其内容为:
a 列数据b 列数据c 列数据
测试步骤
在浏览器地址栏输入:http://你的机器 IP 地址/mysqltest。php ,回车;显示如下图所示,则使用 PHP 从 MySQL
数据库中成功取出了数据,表明PHP 与MySQL 能够协同工作了。
4。MySQL 的常用列类型
在设计数据库表时,必须考虑数据类型。MySQL 支持大量的列类型,常用的可分为3 类:数字类型、日期和时
间类型以及字符串(字符)类型。这里简明介绍常用的列类型,更多列类型的详细说明请参考手册。
约定:
PHP 讲义 第 68 页 共 90 页
…………………………………………………………Page 69……………………………………………