常用的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 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
PHP 解决session死锁的方法
Jun 20 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
PHP获取HTTP body内容的方法
Dec 31 PHP
PDO::setAttribute讲解
Jan 29 PHP
PHP中localeconv()函数的用法
Mar 26 PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 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 SEO优化之URL优化方法
2011/04/21 PHP
php的hash算法介绍
2014/02/13 PHP
thinkPHP查询方式小结
2016/01/09 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
javascript事件模型代码
2007/07/01 Javascript
javascript 面向对象继承
2009/11/26 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
HTML5中的新元素介绍
2008/10/17 HTML / CSS
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
七年级音乐教学反思
2014/01/26 职场文书
面试后的英文感谢信
2014/02/01 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
单身申明具结书
2015/02/26 职场文书
走近毛泽东观后感
2015/06/04 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL