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面向对象全攻略 (七) 继承性
Sep 30 PHP
JSON在PHP中的应用介绍
Sep 08 PHP
Apache服务器无法使用的解决方法
May 08 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
php生成QRcode实例
Sep 22 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
thinkPHP框架中执行事务的方法示例
May 31 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 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中让人头疼的浮点数运算分析
2016/10/10 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
python遍历类中所有成员的方法
2015/03/18 Python
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
python爬取指定微信公众号文章
2018/12/20 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
纯css3实现走马灯效果
2014/12/26 HTML / CSS
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
机电一体化大学生求职信
2013/11/08 职场文书
2014三八妇女节活动总结
2014/03/01 职场文书
企业出纳岗位职责
2014/03/12 职场文书
答谢会策划方案
2014/05/12 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
大学生自荐书范文
2015/03/05 职场文书
2015年商场工作总结
2015/04/27 职场文书
正确使用MySQL update语句
2021/05/26 MySQL