php中pdo连接数据库的操作及步骤是什么?
Admin 2021-05-27 群英技术资讯 458 次浏览
我们要做项目开发,连接数据库是需要掌握的内容。对此,这篇文章给大家分享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 pdo连接数据库的操作的介绍,上述代码中有详细注释,大家可以参考学习,希望文本对大家有帮助,想要了解更多php pdo连接数据库的内容,大家可以继续关注其他文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天小编就为大家分享一篇Laravel 之url参数,获取路由参数的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
在本篇文章里我们给大家分享的是关于PHP将字符串转换成数字的方法和相关知识点,有兴趣的朋友们学习下。
本篇文章小编给大家分享一下golang防缓存击穿singleflight代码实现方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
laravel框架怎样实现图片上传功能?文本给大家介绍两种laravel图片上传方式,一是laravel里面自带的上传方式,二是通用的上传方式。下面一起跟随小编来看看吧。
在做开发的时候,我们经常会遇到文件上传的需求,因此这篇文章就给大家介绍一下php文件上传实现方法,下面就跟随小编一起来看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008