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 相关文章推荐
模拟SQLSERVER的两个函数:dateadd(),datediff()
Oct 09 PHP
php简单静态页生成过程
Mar 27 PHP
PHP下一个非常全面获取图象信息的函数
Nov 20 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
php多文件上传下载示例分享
Feb 20 PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
PHP实现事件机制实例分析
Jun 26 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
Sep 22 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
php测试kafka项目示例
Feb 06 PHP
PHP http请求超时问题解决方案
Nov 13 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 #PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 #PHP
PHP实用小技巧之调用录像的方法
Dec 05 #PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 04 #PHP
Laravel框架下载,安装及路由操作图文详解
Dec 04 #PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
Dec 04 #PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 #PHP
You might like
PHP 图片上传代码
2011/09/13 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
python将ip地址转换成整数的方法
2015/03/17 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
金属材料工程个人求职的自我评价
2013/12/04 职场文书
岳父生日宴会答谢词
2014/01/13 职场文书
美德少年事迹材料500字
2014/08/19 职场文书