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 相关文章推荐
写一个用户在线显示的程序
Oct 09 PHP
第七节--类的静态成员
Nov 16 PHP
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 PHP
PHP生成随机用户名和密码的实现代码
Feb 27 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
php parse_str() 函数的定义和用法
May 23 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP实现验证码校验功能
Nov 16 PHP
tp5.1 框架查询表达式用法详解
May 25 PHP
PHP中SESSION过期设置
Mar 09 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 + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
javascript 打印页面代码
2009/03/24 Javascript
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
python3之微信文章爬虫实例讲解
2017/07/12 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
函数指针的定义是什么
2016/08/14 面试题
初中毕业生的自我评价
2014/03/03 职场文书
晨会主持词
2014/03/17 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
优秀团员事迹材料
2014/12/25 职场文书
校长师德表现自我评价
2015/03/04 职场文书
采购内勤岗位职责
2015/04/13 职场文书
暂住证明怎么写
2015/06/19 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript