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调用数据库的存贮过程!
Oct 09 PHP
PHP文件读写操作之文件写入代码
Jan 13 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
php在线代理转向代码
May 05 PHP
php采用curl实现伪造IP来源的方法
Nov 21 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
php通过递归方式复制目录和子目录的方法
Mar 13 PHP
php取得字符串首字母的方法
Mar 25 PHP
php编写批量生成不重复的卡号密码代码
May 14 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
laravel使用Faker数据填充的实现方法
Apr 12 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网上商城购物车设计代码分享
2012/02/15 PHP
php二维数组排序方法(array_multisort usort)
2013/12/25 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
php单例模式示例分享
2015/02/12 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
JS实现页面打印功能
2017/03/16 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
Python爬取三国演义的实现方法
2016/09/12 Python
python3 读写文件换行符的方法
2018/04/09 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
基于python实现模拟数据结构模型
2020/06/12 Python
python如何操作mysql
2020/08/17 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
linux系统都有哪些运行级别
2016/03/26 面试题
化妆品店促销方案
2014/02/24 职场文书
小学毕业演讲稿
2014/04/25 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
SQLServer中exists和except用法介绍
2021/12/04 SQL Server