当前位置: 首页 > 编程笔记 >

php pdo连接数据库操作示例

云季同
2023-03-14
本文向大家介绍php pdo连接数据库操作示例,包括了php pdo连接数据库操作示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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基于pdo操作数据库技巧总结》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

 类似资料:
  • 本文向大家介绍Java基于JDBC连接数据库及显示数据操作示例,包括了Java基于JDBC连接数据库及显示数据操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java基于JDBC连接数据库及显示数据操作。分享给大家供大家参考,具体如下: 1. 导入jdbc包 java要连接MySQL数据库需要用到JDBC工具(mysql-connector-java-5.1.39-bin.jar)

  • 本文向大家介绍Java基于jdbc连接mysql数据库操作示例,包括了Java基于jdbc连接mysql数据库操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java基于jdbc连接mysql数据库操作。分享给大家供大家参考,具体如下: 用JDBC来连接数据库,基本步骤都大同小异,只不过不同的数据库之间的URL有些不同。其基本步骤可分为以下几点: 1、加载相应数据库的JDBC驱动程

  • 本文向大家介绍PHP使用pdo连接access数据库并循环显示数据操作示例,包括了PHP使用pdo连接access数据库并循环显示数据操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP使用pdo连接access数据库并循环显示数据操作。分享给大家供大家参考,具体如下: PDO连接与查询: 1. foreach()方法 2. while()方法 php使用PDO抽象层获取查询结果

  • 本文向大家介绍ThinkPHP框架基于PDO方式连接数据库操作示例,包括了ThinkPHP框架基于PDO方式连接数据库操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP框架基于PDO方式连接数据库操作。分享给大家供大家参考,具体如下: 一 代码 1、修改config.php文件 2、创建控制器 3、创建入口文件 4、创建模板文件 二 运行结果 更多关于thinkPHP

  • 本文向大家介绍JavaScript操作Oracle数据库示例,包括了JavaScript操作Oracle数据库示例的使用技巧和注意事项,需要的朋友参考一下 我还是IT界的一只小菜鸟,参加工作时间不长,不过凭着自己的一颗好学的心还有自己永不停止的学习脚步,自己在编程方面也是收获颇丰~~ 一直以为JavaScript想和数据库交互必须通过AJAX来调用服务器端代码(C#或JAVA)才行,但最近才发现J

  • 本文向大家介绍Python MySQLdb模块连接操作mysql数据库实例,包括了Python MySQLdb模块连接操作mysql数据库实例的使用技巧和注意事项,需要的朋友参考一下 mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法。python操作数据库需要安装一个第三方的模块,在http://mysql-python.