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 相关文章推荐
如何给phpadmin一个保护
Oct 09 PHP
PHP 常用函数库和一些实用小技巧
Jan 01 PHP
PHP入门学习笔记之一
Oct 12 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
Jun 07 PHP
Zend Framework中的简单工厂模式 图文
Jul 10 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
php生成curl命令行的方法
Dec 14 PHP
使用PHP如何实现高效安全的ftp服务器(二)
Dec 30 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
实例分析PHP将字符串转换成数字的方法
Jan 27 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
图书管理程序(三)
2006/10/09 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
深入研究React中setState源码
2017/11/17 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
Python内建数据结构详解
2016/02/03 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
大学应届毕业生个人求职信
2013/09/23 职场文书
物业客服专员岗位职责
2013/11/30 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
商超业务员岗位职责
2015/02/13 职场文书
2015年教务工作总结
2015/05/23 职场文书
参加招聘会后的感想
2015/08/10 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏