PDO讲解
PDO的知识点标注在代码里
<?php
//造DSN:驱动名:dbname=数据库名;host=服务器地址
$dsn="mysql:dbname=mydb;host=localhost";
$pdo=new PDO($dsn,"root",""); //写sql语句
$sql="select * from info"; //1.execu()执行增删改语句 //2.query()执行查询语句
//例子
/*//执行sql语句
$v=$pdo->query($sql); foreach($v as $a)
{ //返回的对象比较特殊,可以直接用循环遍历,尽量不要用
echo $a[0];
}*/ //3.预处理语句——prepare()和execute语句
//预处理,先把sql语句放到服务器上等待我们给他指令去执行
$stm=$pdo->prepare($sql); //execute()执行准备好的sql语句,成功返回true,失败返回false
if($stm->execute())
{
//获取结果的方法
//注意:各个获取结果的方法括号内可以写参数
//1.取一条数据
//var_dump($stm->fetch()); //fetch()和fetchALL()的参数相同 //2.取所有
//var_dump($stm->fetchAll(PDO::FETCH_ASSOC));//返回关联数组
//var_dump($stm->fetchAll(PDO::FETCH_NOM));//返回索引数组
//var_dump($stm->fetchAll(PDO::FETCH_OBJ));//返回对象数组 //3.取某一列
//var_dump($stm->fetchColumn(1)); //以0开始索引 //4.返回一条对象
//var_dump($stm->fetchObject());
}
else
{
echo "连接失败";
}
以下代码为PDO参数绑定
<?php
//造对象
$dsn="mysql:dbname=mydb;host=localhost";
$pdo=new PDO($dsn,"root",""); //写sql语句 //$sql="insert into nation values (?,?)"; //语句1 $sql="insert into nation values (:aa,:bb)"; //语句2 //预处理
$stm=$pdo->prepare($sql); //给参数绑定值 //1.1:$sql语句里用?时,使用bindParam()添加
$stm->bindParam(1,$code); //数字1代表占位符,$code代表添加的列名
$stm->bindParam(2,$name);
$code="n009"; //修改此两处的值实现反复添加
$name="犹太族"; //1.2:$sql语句里用?时,使用索引数组添加
$attr=array("n010","藏族"); //这种方法要把第一个参数写成索引形势,并且要把$attr放到execute($attr)内 //2.1:$sql语句里用:aa时,使用bindParam()添加
$stm->bindParam("aa",$code,PDO::PARAM_STR);
$stm->bindParam("bb",$name,PDO::PARAM_STR);
$code="n011";
$name="巨人族"; //2.2:$sql语句里用?时,使用关联数组
$attr=array("aa"=>"n012","bb"=>"小人族"); //执行
if($stm->execute($attr))
{
echo "执行成功";
}
else
{
echo "执行失败";
}
练习:PDO添加表单
前端页面
<body>
<h1>添加民族代号和名称</h1>
<br />
<form action="PDOtjchuli.php" method="post">
民族代号:<input type="text" name="one"/><br />
民族名称:<input type="text" name="two"/><br />
<input type="submit" value="提交"/>
</form>
</body>
</html>

后台处理代码
<?php
$dsn="mysql:dbname=mydb;host=localhost";
$pdo=new PDO($dsn,"root","");
$sql="insert into nation values (:aa,:bb)";
$result=$pdo->prepare($sql); $attr=array("aa"=>$_POST["one"],"bb"=>$_POST["two"]); if($result->execute($attr))
{
echo "<script>alert('添加成功')</script>";
}
else
{
echo "<script>alert('添加成功')</script>";
}
PDO讲解的更多相关文章
- 理解数据库的PDO处理的理念
做第一份工作的时候,脑海里没有数据安全性的概念,从来没有网站被黑客盯上的事情.网站用户量也不大,虽然工作繁忙,但是只要代码上了线,基本上没有出过问题.在这个期间曾经做过一些傻的事情,认为sql写的越复 ...
- 系统的讲解 - PHP WEB 安全防御
目录 常见漏洞 SQL注入攻击 XSS攻击 SSRF攻击 CSRF攻击 文件上传漏洞 信息泄露 越权 设计缺陷 小结 常见漏洞 看到上图的漏洞是不是特别熟悉,如果不进行及时防御,就会产生蝴蝶效应. 往 ...
- PHP(Mysqli和PDO)预处理
PHP预处理主要是用来防SQL注入的,开发程序的都明白这样一个道理,不能相信用户的任何输入,如果用户输入问题你没有做相应的安全, 那么:你的程序是很危险的,很容易被攻击的!预处理:只分析两个:mysq ...
- php通过Mysqli和PDO连接mysql数据详解
前言 在实际开发中,关于数据库操作类,很少是自己去写,大多是通过一些框架去实现,突然自己去写,还是需要借阅手册之类,于是我觉得有必要去总结一下,php连接mysql的方法,php连接mysql,可以通 ...
- 跟着百度学PHP[14]-PDO之Mysql的事务处理2
前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...
- PDO、PDOStatement、PDOException
最近在学PDO 比较详细的资料 出处:http://blog.csdn.net/hsst027/article/details/23682003 PDO中包含三个预定义的类,它们分别是PDO.PDO ...
- PDO如何完成事务操作
起因 无意间翻看极客学院的APP,准备找一些教程看看.看到一篇PDO 安全处理与事务处理,一想对MySQL的事务处理仅仅停留在概念上(知道执行多条语句,其中一个失败了,就会回滚操作).但是把概念变成代 ...
- PHP中的PDO操作学习(四)查询结构集
关于 PDO 的最后一篇文章,我们就以查询结果集的操作为结束.在数据库的操作中,查询往往占的比例非常高.在日常的开发中,大部分的业务都是读多写少型的业务,所以掌握好查询相关的操作是我们学习的重要内容. ...
- PHP中的PDO操作学习(三)预处理类及绑定数据
要说 PDO 中最强大的功能,除了为不同的数据库提供了统一的接口之外,更重要的就是它的预处理能力,也就是 PDOStatement 所提供的功能.因为它的存在,才让我们可以安心地去使用而不用操心 SQ ...
随机推荐
- Delphi FindowWindow,FindowWindowEx
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 用httpPost对JSON发送和接收
HTTPPost发送JSON: private static final String APPLICATION_JSON = "application/json"; private ...
- [LeetCode] Regular Expression Matching(递归)
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- CENTOS安装vnc
先直接进入命令模式,如果是服务器则可以使用putty连接进入命令行模式. 现在知道的centos下的vnc是:tigervnc,由于是服务端所以我们只安装tigervnc-server即可: yum ...
- 如何将XML文件写入数据库
将xml文件转成string public string XMLDocumentToString(XmlDocument doc) { MemoryStream stream = new Memory ...
- [转]AppCompat 22.1,Goole暴走,MD全面兼容低版本
AppCompat 22.1,Goole暴走,MD全面兼容低版本 分类: Android2015-04-24 09:48 1354人阅读 评论(0) 收藏 举报 android 目录(?)[+] ...
- Java: Class Variable/Static Variable
1. Class Variable/Static Variable: Class variable is also known as static variable with "static ...
- 第三方Jar上传到Nexus3
mvn deploy:deploy-file -DgroupId=ESPPaaSService -DartifactId=ESPPaaSService -Dversion=1.0 -Dpackagin ...
- Java数据库连接——JDBC调用存储过程,事务管理和高级应用
一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后 ...
- MAC下Android的Eclipse开发环境的搭建
一.Eclipse的下载 到网站:http://www.eclipse.org/downloads/ 上,由于我们是用Java开发的所以步骤如下: 1. 找到"Eclipse IDE fo ...