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 相关文章推荐
再次研究下cache_lite
Feb 14 PHP
PHP 读取文件的正确方法
Apr 29 PHP
PHP curl 并发最佳实践代码分享
Sep 05 PHP
鸡肋的PHP单例模式应用详解
Jun 03 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
php制作动态随机验证码
Feb 12 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
ThinkPHP表单令牌错误的相关解决方法分析
May 20 PHP
WordPress分页伪静态加html后缀
Jun 08 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 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
终于听上了直流胆调频
2021/03/02 无线电
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
php与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
php静态文件返回304技巧分享
2015/01/06 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
php设计模式之单例模式代码
2016/06/11 PHP
Javascript模块模式分析
2008/05/16 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
python对url格式解析的方法
2015/05/13 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
自我评价格式
2014/01/06 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
家长评语怎么写
2014/12/30 职场文书
入党介绍人考察意见
2015/06/01 职场文书
雷锋电影观后感
2015/06/10 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
Django分页器的用法你都了解吗
2021/05/26 Python