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实现的连贯操作、链式操作实例
Jul 08 PHP
php使用curl出现Expect:100-continue解决方法
Mar 03 PHP
php metaphone()函数的定义和用法
May 15 PHP
PHP简单实现DES加密解密的方法
Jul 12 PHP
php类的自动加载操作实例详解
Sep 28 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
PHP 断点续传实例详解
Nov 11 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
PHP+Oracle本地开发环境搭建方法详解
Apr 01 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
Oct 15 PHP
PHP实现随机发放扑克牌
Apr 21 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读取数据库信息的几种方法
2008/05/24 PHP
php生成xml简单实例代码
2009/12/16 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
php验证session无效的解决方法
2014/11/04 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
使用python绘制温度变化雷达图
2019/10/18 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
《值日生》教学反思
2014/02/17 职场文书
便利店促销方案
2014/02/20 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
建筑学专业自荐书
2014/07/09 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
优秀党员推荐材料
2014/12/18 职场文书
同学聚会邀请函
2015/01/30 职场文书
历史博物馆观后感
2015/06/05 职场文书
三八妇女节致辞
2015/07/31 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS