php pdo连接数据库操作示例


Posted in PHP onNovember 18, 2019

本文实例讲述了php pdo连接数据库操作。分享给大家供大家参考,具体如下:

pdo连接数据库的有点是能实现不同数据库之间的转换,而且有事务功能的回滚,更有pdo::prepare();pdo:::execute()函数的预处理查询,所以我个人认为pdo的功能还是比较强大的,所有这篇日志只为我自己而写,希望看到这篇日志的兄弟们能对你们有所帮助。

要用php连接数据库首先要要实例化pdo的类,并且要有数据源,服务器账号,服务器密码

数据源是数据库类型,服务器名称,数据库名称的一个集合。

<?php
//以下是实例化一个pdo的带码
$dsn="mysql:host=localhost;dbname=tanyong";//这就是数据源,
$user="root";//这个是服务器的账号,我的电脑上是这样,就不知道你们的是不是,
$pwd="";//这是我电脑上的服务器密码,就是我没设
$pdo=new PDO($dsn,$user,$pwd);//实例化一个PDO连接
$pdo->query("set names gbk");//设置从数据库里面传递过来的数据的编码格式
?>

事务介绍:事务介绍我就通过我自己的理解来讲解一遍吧,就是先要关闭数据库的自动提交功能(什么是自动提交功能?就是当我们写完一个sql语句后,按回车键执行不起,而要经过特殊的代码处理才能提交上去,后面我会介绍的)

然后写出你要执行的sql语句并将返回的结果赋给两个不同的变量,之后提交,如果在执行的时候其中1个或多个发生了错误,就进行事务回滚,即使回归初始状态(也就是前面在事务处理代码中的插入或改变或删除或查询的语句全部作废),还有一个优点是不会因为进入其他网页,或执行其他sql语句而影响到事务处理的进程

//以下是事务回滚的代码简介
<?php
$dsn="mysql:host=localhost;dbname=tanyong";//这就是数据源,
$user="root";//这个是服务器的账号,我的电脑上是这样,就不知道你们的是不是,
$pwd="";//这是我电脑上的服务器密码,就是我没设
$pdo=new PDO($dsn,$user,$pwd);//实例化一个PDO连接
$pdo->query("set names gbk");//设置从数据库里面传递过来的数据的编码格式
$pdo->begintransaction();//在这里关闭mysql的自动提交功能
$a=$pdo->query("insert into tongxue values('130042106','谭勇','男');
$b=$pdo->query("insert into tongxue values('130042100','猪八戒','男')");
if($a==true && $b==true){
$pdo->commit();//提交事务
} else{
$pdo->rollback();//事务回滚
}
?>

mysql_num_rows()函数能数出数据库返回结果集的行数,以此来判断该用户输入的用户名和密码是否正确,那么在pdo中我们如何实现这个功能呢?

在pdo中有一个函数pdo::fetchall(),他的作用是将从数据库返回的一个结果集全部赋给获取它的值,之后再用count()函数数出行数具体事例代码如下

<?php
$dsn="mysql:host=localhost;dbname=tanyong";//这就是数据源,
$user="root";//这个是服务器的账号,我的电脑上是这样,就不知道你们的是不是,
$pwd="";//这是我电脑上的服务器密码,就是我没设
$pdo=new PDO($dsn,$user,$pwd);//实例化一个PDO连接
$pdo->query("set names gbk");//设置从数据库里面传递过来的数据的编码格式
$sql="select * from tongxue where id='130042106'";
$shuju=pdo->prepare($sql);//这就是我们所说的预处理 
$shuju->execute();//执行预处理的结果;
$jg=$shuju->fetchall(PDO::FETCH_ASSOC);//将返回的结果集以数组的方式全部返回给变量$jg
$hangshu=count($jg);//数出结果集的行数
if($hangshu>0){
echo '查询出来是有这个人的';
} else{
echo '查询出来是没有这个人的';
}
?>

当我们的页面运行的sql语句较多时,可以用pdo当中的预处理,来减缓服务器的压力,这对于那些要做大型网站的项目来说是一个不错的选择,因为大型网站一天的浏览量是几万或十几万的.
下面我们来看看pdo的预处理

<?php
$dsn="mysql:host=localhost;dbname=tanyong";//这就是数据源,
$user="root";//这个是服务器的账号,我的电脑上是这样,就不知道你们的是不是,
$pwd="";//这是我电脑上的服务器密码,就是我没设
$pdo=new PDO($dsn,$user,$pwd);//实例化一个PDO连接
$pdo->query("set names gbk");//设置从数据库里面传递过来的数据的编码格式
$sql="insert into tongxue values('130042100','老师','男')";//我们要执行的sql语句
$shuju=$pdo->prepare($sql); //预处理
$shuju->execute();//执行预处理的sql语句
if($shuju){
echo '执行成功';
} else{
echo '执行失败';
}
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php中cookie的作用域
Mar 27 PHP
php学习笔记 面向对象的构造与析构方法
Jun 13 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
YII路径的用法总结
Jul 09 PHP
php文件上传简单实现方法
Jan 24 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 PHP
PHP简单计算两个时间差的方法示例
Jun 20 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 #PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 #PHP
php实现微信小程序授权登录功能(实现流程)
Nov 13 #PHP
php 命名空间(namespace)原理与用法实例小结
Nov 13 #PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 13 #PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
Nov 13 #PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
Nov 13 #PHP
You might like
php配合jquery实现增删操作具体实例
2013/12/12 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
让你5分钟掌握9个JavaScript小技巧
2018/06/09 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
学生个人求职自荐信格式
2013/09/23 职场文书
高中毕业生自我鉴定范文
2013/09/26 职场文书
校园活动策划书范文
2014/01/10 职场文书
社区学习十八大感想
2014/01/22 职场文书
九年级历史教学反思
2014/01/27 职场文书
上班打牌检讨书
2014/02/07 职场文书
小学作文评语大全
2014/04/21 职场文书
销售顾问工作计划书
2014/09/15 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
python获取对象信息的实例详解
2021/07/07 Python
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技