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 相关文章推荐
PHP读取MySQL数据代码
Jun 05 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
PHP代码审核的详细介绍
Jun 13 PHP
yii框架配置默认controller和action示例
Apr 30 PHP
使用PHP函数scandir排除特定目录
Jun 12 PHP
PHP获取当前所在目录位置的方法
Nov 26 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
WordPress中调试缩略图的相关PHP函数使用解析
Jan 07 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
PHP convert_cyr_string()函数讲解
Feb 13 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 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
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
js实现购物车功能
2018/06/12 Javascript
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
python多线程同步实例教程
2019/08/11 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
公司出纳岗位职责
2013/12/07 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
公休请假条
2014/04/11 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python