常用的PHP数据库操作方法(MYSQL版)


Posted in PHP onJune 08, 2011

一、数据库操作
1. 连接MYSQL数据
mysql_connect()
e.g.

$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die(‘Unable to connect, please check connection paremeters');

2. 选择数据库
mysql_select_db()
连接上数据库后,PHP默认选择的数据库未必是我们后面操作中需要的数据库,为确保数据库选择正确,一般在数据库连接语句后面还要加上数据库选择语句。
e.g.
mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));

3. 执行SQL语句
mysql_query()
该函数将SQL语句发送到当前活动的数据库并执行语句,返回结果。
e.g.
$query = “SELECT * FROM $table” 
$result = mysql_query($query, $db) or die(mysql_error($db));

4. 关闭数据库
mysql_close()
该函数用于关闭不需要继续活跃的数据库,但该方法不是必须的,一般PHP会自动关闭不继续活跃的数据库。
e.g.
mysql_close($db);
5. 释放SQL结果
mysql_free_result()
该函数用于释放mysql_query()执行结果占用的内存,该函数很少被调用,除非result很大,占用太多内存;一般在PHP脚本执行结束之后很自动释放占用的内存。
二、SQL执行结果操作
1. 返回执行结果中的一行
mysql_fetch_row()
返回执行结果的当前行的数值数组,执行这个函数后,结果指向下一行。
e.g.
$row = mysql_fetch_row($result);
处理执行结果一般放在while循环中,遍历每一行
e.g.
while($row = mysql_fetch_row($result))
{……}
2. mysql_fetch_row()的替代方法
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_array()返回键值对数组,键为查询的table的列名;
mysql_fetch_assoc()返回结果时可以先排序(如果为可选参数赋值),相当于mysql_fetch_array()+MYSQL_ASSOC
3. 执行结果的字段(列)属性
mysql_fetch_field()
4. 查询数据库中的表名
mysql_list_tables()
e.g.
$db_name = MYSQL_DB; 
$result = mysql_list_tables($db_name); 
echo “数据库中包含如下表:”; 
while ($row = mysql_fetch_row($result)) 
{ 
echo $row[0]; 
}

5. 查询数据库的列名(字段名)
mysql_list_fields()
e.g.
$fields = mysql_list_fields($db_name,$table); 
$columns = mysql_num_fields($fields); 
for ($i = 0; $i < $columns; $i++) 
echo mysql_field_name($fields, $i);

三、其他函数
1. mysql_num_rows()
返回执行结果的行数。
e.g.
$num = mysql_num_rows($result);
2. mysql_num_fields()
返回执行结果的列数(字段数)。
e.g. $num = mysql_num_fields($result);
3.mysql_set_charset()
设置执行结果的编码,防止在网页中显示中文时乱码。
e.g.
$query = “select * from $table_name”; 
mysql_query(‘set names utf8′); 
$result = mysql_query($query, $db) or die(mysql_error($db));

注:
1. 文中大写代码为预定义的内容,如define(MYSQL_HOST, ‘localhost');
2. 本文仅总结了PHP操作数据库的主要函数,完整的内容请参考PHP手册的相关内容。
PHP 相关文章推荐
PHP4 与 MySQL 交互使用
Oct 09 PHP
PHP编程中八种常见的文件操作方式
Nov 19 PHP
php 删除记录实现代码
Mar 12 PHP
php 在文件指定行插入数据的代码
May 08 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
根据key删除数组中指定的元素实现方法
Mar 02 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 PHP
laravel中Redis队列监听中断的分析
Sep 14 PHP
apache+php完美解决301重定向的两种方法
Jun 08 #PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 #PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 #PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 #PHP
php写的简易聊天室代码
Jun 04 #PHP
php结合表单实现一些简单功能的例子
Jun 04 #PHP
PHP中对用户身份认证实现两种方法
Jun 04 #PHP
You might like
PHP文件上传实例详解!!!
2007/01/02 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
prototype class详解
2006/09/07 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
师范应届生求职信
2013/11/15 职场文书
英语演讲稿范文
2014/01/03 职场文书
市三好学生主要事迹
2014/01/28 职场文书
教育技术职业规划范文
2014/03/04 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
2015年双拥工作总结
2015/04/08 职场文书
会议通知
2015/04/15 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
详解Python中__new__方法的作用
2022/03/31 Python