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程序设计有所帮助。

(0)

相关推荐

  • php中在PDO中使用事务(Transaction)

    并且在执行的过程中, 如果其中的某条执行失败, 可以回滚所有已更改的操作. 如果执行成功, 那么这一系列操作都会永久有效. 事务很好的解决了在操作数据库的时候不同步的问题. 同时, 通过事务去执行大数据量的时候, 执行效率可以提高很多很多. 在 PDO 中, 事务已经显得非常简单. 下面一个基本的例子, 演示了向 SQLite 数据库插入 1000000 条数据, 并且在出错的时候回滚. 复制代码 代码如下: try { $conn = new PDO('sqlite:Transactioion

  • PHP5中使用PDO连接数据库的方法

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll.php_pgsql.dll.php_mssql.dll.php_sqlite.dll等等. PHP6中也将默认使用PDO的方式连接,mysql扩展将被作为辅助 2.PDO配置 PHP.ini中,去掉"extension=php_pdo.dll"前面

  • php下pdo的mysql事务处理用法实例

    本文实例讲述了php下pdo的mysql事务处理用法.分享给大家供大家参考.具体分析如下: php+mysql事务处理的几个步骤: 1.关闭自动提交 2.开启事务处理 3.有异常就自动抛出异常提示再回滚 4.开启自动提交 注意:mysql只有这个InnoDB驱动是支持事务处理的,默认MyIsAM驱动不支持,下面是实例代码: 复制代码 代码如下: <?php     try{         $pdo=new pdo("mysql:host=localhost;dbname=mydb&quo

  • PHP实现的pdo连接数据库并插入数据功能简单示例

    本文实例讲述了PHP实现的pdo连接数据库并插入数据功能.分享给大家供大家参考,具体如下: 创建配置文件 pdo_config.php <?php $db_Type = "mysql";//数据库类型 $host = "localhost";//主机名 $dbName = "test";//数据库名 $userName = "root";//用户名 $password = "root";//密码 $d

  • PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】

    本文实例讲述了PHP利用pdo_odbc实现连接数据库.分享给大家供大家参考,具体如下: 目的:从sql server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上. 利用pdo odbc来实现PHP连接数据库: 在PHP配置文件里面开启pdo_odbc.dll服务.重启Apache服务器. 在ThinkPHP5.1的项目中在模块里添加config添加规定好的样式数据库: 代码如下: <?php return [ // 数据库类型 'type' => 'sqlsrv', // 服

  • php使用PDO事务配合表格读取大量数据插入操作实现方法

    本文实例讲述了php使用PDO事务配合表格读取大量数据插入操作实现方法.分享给大家供大家参考,具体如下: 在处理大量数据的时候,或者同时对几个表操作,而这几个表的操作要求,要么都成功,要么都失败的时候,就需要用到事物,而PDO中提供的事物,一般可以满足需求. 关于事务的具体讲解,http://www.jb51.net/article/105744.htm 本篇文章,只涉及一个小例子. 在向数据库导入一个表格的时候,难免excel文件中存在部分错误,如果用常规方法,将会导致,一部分插入了数据库,一

  • ThinkPHP框架基于PDO方式连接数据库操作示例

    本文实例讲述了ThinkPHP框架基于PDO方式连接数据库操作.分享给大家供大家参考,具体如下: 一 代码 1.修改config.php文件 <?php return array( 'DB_TYPE'=> 'pdo', // 注意DSN的配置针对不同的数据库有所区别 'DB_DSN'=> 'mysql:host=localhost;dbname=db_database30', 'DB_USER'=>'root', 'DB_PWD'=>'root', 'DB_PREFIX'=&

  • PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】

    本文实例讲述了PHP基于PDO实现的SQLite操作类.分享给大家供大家参考,具体如下: 直接代码: 注意:一定要写好数据库保存路径 <?php // sqlite分页类 class SqliteDB{ public function __construct(){ // 初始化数据库,并且连接数据库 数据库配置 $this->db = new PDO('sqlite:'.dirname(__FILE__).'\log.db'); $this->table_name=$tab; $this

  • PHP中PDO连接数据库中各种DNS设置方法小结

    本文实例总结了PHP中PDO连接数据库中各种DNS设置方法.分享给大家供大家参考,具体如下: pdo中DNS书写方式如下: mssql:host=localhost;dbname=testdb sybase:host=localhost;dbname=testdb dblib:host=localhost;dbname=testdb firebird:User=john;Password=mypass;Database=DATABASE.GDE;DataSource=localhost;Port

  • php PDO实现的事务回滚示例

    本文实例讲述了php PDO实现的事务回滚.分享给大家供大家参考,具体如下: $servername="localhost"; $username="root"; $password="admin"; $dbname="test"; try{ $conn=new PDO("mysql:host=$servername;dbname=$dbname",$username,$password); $conn-&

  • php的PDO事务处理机制实例分析

    本文实例讲述了php的PDO事务处理机制.分享给大家供大家参考,具体如下: 事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行,并且在执行的过程中, 如果其中的某条执行失败, 可以回滚所有已更改的操作. 如果执行成功, 那么这一系列操作都会永久有效. 事务很好的解决了在操作数据库的时候不同步的问题. 同时, 通过事务去执行大数据量的时候, 执行效率可以提高很多很多. 在PDO中同样可以实现事物处理的功能 1. 开启事

随机推荐