常用的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 相关文章推荐
用Flash图形化数据(一)
Oct 09 PHP
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 PHP
php使用PDO获取结果集的方法
Feb 16 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
Apr 05 PHP
yii2学习教程之5种内置行为类详解
Aug 03 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 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查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
Js 本页面传值实现代码
2009/05/17 Javascript
再论Javascript的类继承
2011/03/05 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
常用jQuery代码分享
2015/07/14 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
Ionic快速安装教程
2016/06/03 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
javascript操作cookie
2017/01/17 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
文员自我评价怎么写
2013/09/19 职场文书
法学专业本科生自荐信范文
2013/12/17 职场文书
共青团员自我评价范文
2014/09/14 职场文书
慰问信模板
2015/02/14 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android