【PHP开源代码栏目提醒】:本文主要为网学会员提供“开源的PHP+mysql:第14讲MySql - 扩展 - 数据库”,希望对需要开源的PHP+mysql:第14讲MySql - 扩展 - 数据库网友有所帮助,学习一下!
本节内容开启与关闭数据库链接开启数据库查询数据表数据库和字段的信息取得数据库的记录数据MySQL操作的错误处理开启与关闭数据库链接第一步是使用
PHP函数mysql_connect开启MySQL数据库的连结简单的说就是使用账号和密码登入MySQL服务器。
create table studentsid int not null auto_incrementname varchar20 not nullprimary keysid开启连结在
PHP程序开启MySQL数据库链接的函数是mysql_connectlink mysql_connecthname user pass函数的传回值如果成功传回资源标识符如果失败传回false检查连结只需使用if条件就可以检查是否成功开启数据库链接if link false //MySQL数据库链接成功………程序
代码的if条件检查传回值是否为false如果不是表示链接数据库成功。
关闭连结不再需要存取MySQL数据库时就可以使用mysql_close函数释放数据库链接资源所占用的内存mysql_closelink如果成功关闭传回true否则为false。
连接和关闭示例另外一种连接方式link mysql_pconnecthname user pass函数的传回值如果成功传回资源标识符如果失败传回falseMySQL服务器的域名或IP地址MySQL服务器的用户账号和密码开启数据库查询数据表开启MySQL服务器指定的数据库查询数据表另一种方式查询数据表选择数据库第二步是指定MySQL服务器需要处理的数据库
PHP提供mysql_select_db函数db mysql_select_dbdbname linkor die无法开启dbname数据库数据库名称字符串开启的数据库链接可选参数exit的别名开启失败才会执行执行数据表查询
PHP程序可以使用mysql_query函数执行SQL指令的查询result mysql_querysql linkSQL指令字符串开启目前的数据库链接可选参数mysql_query返回值mysql_query 仅对SELECTSHOWEXPLAIN 或DESCRIBE 语句返回一个资源标识符如果查询执行不正确则返回FALSE。
对于其它类型的SQL 语句mysql_query 在执行成功时返回TRUE出错时返回FALSE。
将它视为以表格方式储存的记录资料每一行对应一条记录每一列是一字段选择数据库查询示例 取得记录和域值
PHP程序可以使用mysql_result函数取得查询结果的记录和字段值no mysql_resultresult 0stdnoname mysql_resultresult 0name//此函数不常使用推荐使用mysql_fetch_rowmysql_fetch_array纪录指针从0行开始释放结果集合占用的内存当不再需要查询结果时在
PHP程序记得自行释放占用的记忆体以免浪费服务器的宝贵资源
PHP程序是使用mysql_free_result函数释放占用的内存如下所示mysql_free_resultresult示例 数据表和字段的信息取得字段数、记录数、受影响行数取得字段信息取得字段数和记录数
PHP提供函数可以取得字段数和记录数其函数的说明mysql_num_fieldsresult//返回结果集中的字段数mysql_num_rowsresult//返回结果集中的记录数mysql_affected_rows//返回受insert、update、delete操作影响的行数示例 取得数据表的记录内容读取单笔记录的索引数组移动记录指针将记录存入结合数组使用表格分页显示数据表记录读取单笔记录的索引数组如同一行一行的读取文本文件内容
PHP的mysql_fetch_row函数是一次一笔记录来读取查询结果的记录数据返回根据所取得的行生成的数组如果没有更多行则返回FALSE。
从和指定的结果标识关联的结果集中取得一行数据并作为数组mysql_fetch_row返回。
每个结果的列储存在一个数组的单元中偏移量从0 开始。
依次调用mysql_fetch_row 将返回结果集中的下一行如果没有更多行则返回FALSE。
移动记录指针在SQL查询结果集合拥有「内部记录指针」Internal Row Pointer指向目前待读取的记录
PHP提供mysql_data_seek函数可以移动指针到指定的记录mysql_data_seekresult 0查询结果集合的字段信息对象meta指针位置从0开始将记录存入关联数组mysql_fetch_array函mysql_fetch_array数多一个参数指定储存的数组类型while rows result MYSQL_NUM …………储存类型储存类型一共有3种类型MYSQL_NUM储存成索引数组使用此参数时mysql_fetch_array和mysql_fetch_row用法完全一样如下echo rows0“MYSQL_ASSOC储存成以字段名为键值的关联数组。
记录是使用字段名的键值存取域值echo .rowsstdno.“MYSQL_BOTH默认方式储存成索引和结合阵列换句话说记录可以任意选择使用索引或字段名的键值来取得域值