要用php连接数据库首先要要实例化pdo的类,并且要有数据源,做事器账号,做事器密码
数据源是数据库类型,做事器名称,数据库名称的一个凑集。
query("set names gbk");//设置从数据库里面通报过来的数据的编码格式?>
事务先容:事务先容我就通过我自己的理解来讲解一遍吧,便是先要关闭数据库的自动提交功能(什么是自动提交功能?便是当我们写完一个sql语句后,按回车键实行不起,而要经由分外的代码处理才能提交上去,后面我会先容的)
然后写出你要实行的sql语句并将返回的结果赋给两个不同的变量,之后提交,如果在实行的时候个中1个或多个发生了缺点,就进行事务回滚,纵然回归初始状态(也便是前面在事务处理代码中的插入或改变或删除或查询的语句全部作废),还有一个优点是不会由于进入其他网页,或实行其他sql语句而影响到事务处理的进程
//以下是事务回滚的代码简介query("set names gbk");//设置从数据库里面通报过来的数据的编码格式$pdo->begintransaction();//在这里关闭mysql的自动提交功能$a=$pdo->query("insert into tongxue values(39;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()函数数出行数详细事例代码如下
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的预处理
query("set names gbk");//设置从数据库里面通报过来的数据的编码格式$sql="insert into tongxue values('130042100','老师','男')";//我们要实行的sql语句$shuju=$pdo->prepare($sql); //预处理$shuju->execute();//实行预处理的sql语句if($shuju){echo '实行成功';} else{echo '实行失落败';}?>
转自:https://www.linuxprobe.com/php-pdo-linux.html