PHP链接MySQL的常用扩展函数


Posted in PHP onOctober 23, 2014

一、PHP连接数据库及基本操作

MySQL采用的是'客户机/服务器'架构。使用PHP安装的MySQL扩展函数,和直接使用客户端软件区访问MySQL数据库服务器,原理一样,都需要向MySQL管理系统发送SQL命令,然后将结果返回给用户。

在PHP中,SQL分为两类(查看SQL语句分类):一是有返回结果集的DQL语句,如select/desc 表名,执行完毕之后,需要PHP处理结果集;二是没有结果集的,如DML、DDL等,但是DML语句执行成功后对数据表的记录有影响。

<?php
//连接数据库,常用参数是主机名、用户名和密码
$link = mysql_connect('localhost','root','123456');
//判断是否连接成功
if(!$link)
{
die('连接失败'.mysql.error()); //连接成功返回资源标识符,失败返回false,mysql_error显示错误信息
}//选择数据库,mysql_error()只在调试中使用,再部署项目时就不要了,不然会泄露数据库信息
mysql_select_db('test') or die('选择数据库失败'.mysql_error());
//mysql_query()可以设置字符集和执行SQL语句
mysql_query('set names utf-8');
$sql = 'insert into test(id,name) values("1","dwqs")';
$result = mysql_query($sql);  //执行sql返回结果集
//处理结果集,insert属于DML,会对表的记录有影响
if($result && mysql_affected_rows() > 0)
{
//mysql_insert_id()返回最后一条新纪录的auto_increment值
echo '插入数据成功'.mysql_insert_id().'<br/>';
}
else
{
echo '插入数据失败,错误号:'.mysql_errno().'错误信息:'.mysql_error().'<br/>';
}
//关闭连接
mysql_close($link);
?>

二、PHP处理select查询结果集

在PHP中执行select语句返回一个结果集,可以用于对各个字段的处理

$result = mysql_query('select * from test');
//获取记录行的个数
$rows = mysql_num_rows($result);
//获取字段个数,即数据列
$cols = mysql_num_fields($result);

如果需要访问结果集中的数据,可以使用下列四个函数中的一个(均以结果集资源符作为参数,并自动返回下一条记录,在表末尾时返回false)

1、mysql_fetch_row():该函数将一条结果记录返回并以一个普通的索引数据保存

2、mysql_fetch_assoc():从结果集中取得一行作为关联数据保存

3、mysql_fetch_array():从结果集中取得一行作为关联数组,或数字数组,或二者兼有。可以使用MYSQL_ASSOC(关联数组形式)、MYSQL_NUM(索引数组形式)和MYSQL_BOTH作为第二个参数,指定返回的数据形态。

4、mysql_fetch_object():从结果集中取得一行作为对象,各个字段以对象方式访问。

建议:没有特殊要求,不要使用mysql_fetch_array(),可以使用mysql_fetch_row()或者mysql_fetch_assoc()实现同样的功能,且效率高。

另外也有三个与结果集相关的常用函数

5、mysql_data_seek(int $num):移动内部结果的指针,$num是想要设定的新的结果集指针的行数。

6、mysql_fetch_lengths(resource $result):取得结果集中每个输出的长度

7、mysql_result(resource $result , int $row[,mixed $field]):返回 MySQL 结果集中一个单元的内容。字段参数可以是字段的偏移量或者字段名,或者是字段表点字段名(tablename.fieldname)。如果给列起了别名('select foo as bar from…'),则用别名替代列名。调用 mysql_result()不能和其它处理结果集的函数混合调用。

PHP 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
用php+javascript实现二级级联菜单的制作
May 06 PHP
php实现mysql同步的实现方法
Oct 21 PHP
php防攻击代码升级版
Dec 29 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
php文件夹的创建与删除方法
Jan 24 PHP
PHP7.0安装笔记整理
Aug 28 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
PHP简单获取随机数的常用方法小结
Jun 07 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
Aug 27 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 #PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 #PHP
20个2014年最优秀的PHP框架回顾
Oct 22 #PHP
PHP获取当前页面URL函数实例
Oct 22 #PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 #PHP
百度实时推送api接口应用示例
Oct 21 #PHP
php之curl实现http与https请求的方法
Oct 21 #PHP
You might like
php中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
php时间计算相关问题小结
2016/05/09 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
javascript前端和后台进行数据交互方法示例
2020/08/07 Javascript
Python中的Matplotlib模块入门教程
2015/04/15 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
.net笔试题
2014/03/03 面试题
硕士研究生自我鉴定
2013/11/08 职场文书
团支部建设方案
2014/05/02 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
汽车销售员工作总结
2015/08/12 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
MySQL的存储过程和相关函数
2022/04/26 MySQL