方法1:较简单的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PDO方法1整理</title>
</head> <body>
<?php
//造DSN 格式为:驱动名:dbname=数据库名;host=服务器地址
$dsn = "mysql:dbname=mydb;host=localhost"; //造PDO对象
$pdo = new PDO($dsn,"root",""); //写SQL语句
$sql = "select * from Info"; /*//执行SQL语句 可以但是一般不用
$v = $pdo->query($sql);
//返回的对象比较特殊,可以直接用循环遍历
foreach($v as $a)
{
echo $a[0];
}*/ //预处理,先把SQL语句放到服务器上等待我们给他指令去执行
//准备一条SQL语句,返回PDO对象
$stm = $pdo->prepare($sql); //执行准备好的SQL语句,成功返回true,失败返回false
if($stm->execute())
{
//输出的方式
//1.逐行取数据
//var_dump($stm->fetch());//读取的数据有索引也有关联数组,
//里面可以写参数
//var_dump($stm->fetch(PDO::FETCH_ASSOC));//关联数组
//var_dump($stm->fetch(PDO::FETCH_BOTH));//都有
//var_dump($stm->fetch(PDO::FETCH_NUM));//索引数组 //2.读取所有的数据
//var_dump($stm->fetchAll());//参数同上 //3.读取某一列
//var_dump($stm->fetchColumn(1));//里面是索引 //4.返回对象
//var_dump($stm->fetchObject());
}
else
{
echo "执行失败";
}
?> </body>
</html>

  注意pdo中的输出方式:

逐行读取数据-----$stm->fetch();      #包含索引数组和关联数组

读取全部数据-----$stm->fetchAll();   #包含索引数组和关联数组

括号里面可以写参数的,两个的方法都是一样的,常见的有:

$stm->fetch(PDO::FETCH_ASSOC);    #关联数组
$stm->fetch(PDO::FETCH_BOTH);     #都有
$stm->fetch(PDO::FETCH_NUM);     #索引数组

返回某一列-----$stm->fetchColumn(1);        #里面是索引

返回对象-------$stm->fetchObject();

方法2:以添加数据举例,分为两种,索引数组和关联数组

索引数组

<title>PDO方法2整理</title>
</head> <body>
<?php
//索引数组 //造对象
$dsn = "mysql:dbname=mydb;host=localhost";
$pdo = new PDO($dsn,"root",""); //写SQL语句
//$sql = "insert into Nation values(?,?)"; //预处理
$stm = $pdo->prepare($sql); //给参数绑定值,较为麻烦不建议
/*$stm->bindParam(1,$code);
$stm->bindParam(2,$name);
$code = "p002";
$name = "回k";*/ //造数组
$attr = array("p111","张三"); //执行
if($stm->execute($attr))
{
echo "添加成功";
}
else
{
echo "添加失败";
}
?> </body>
</html>

  关联数组

<title>PDO方法2整理</title>
</head> <body> <?php
//关联数组
//造对象
$dsn = "mysql:dbname=mydb;host=localhost";
$pdo = new PDO($dsn,"root",""); //写SQL语句
$sql = "insert into Nation values(:code,:name)"; //预处理
$stm = $pdo->prepare($sql); //给参数绑定值,麻烦不建议
/*$stm->bindParam("code",$code,PDO::PARAM_STR);
$stm->bindParam("name",$name,PDO::PARAM_STR);
$code = "p003";
$name = "aaaa";
*/ //造数组
$attr = array("code"=>"p005","name"=>"bbbb"); //执行
if($stm->execute($attr))
{
echo "添加成功";
}
else
{
echo "添加失败";
}
?> </body>
</html>

  另一种方法是利用表单的,更加方便,都可以使用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<form action="pdo2.php" method="post">
<div>代号:<input type="text" name="code" /></div><br /> <div>名称:<input type="text" name="name" /></div><br /> <div><input type="submit" value="提交" /></div>
</form>
</body>
</html>

  

<title>PDO方法2整理</title>
</head> <body> <?php
//关联数组
//造对象
$dsn = "mysql:dbname=mydb;host=localhost";
$pdo = new PDO($dsn,"root",""); //写SQL语句
$sql = "insert into Nation values(:code,:name)"; //预处理
$stm = $pdo->prepare($sql); //执行
if($stm->execute($_POST))
{
echo "添加成功";
}
else
{
echo "添加失败";
}
?>
</body>
</html>

  

5月13 PDO数据访问抽象层的更多相关文章

  1. PDO数据访问抽象层

    PDO数据访问抽象层: 我们使用的mysqli是针对mysql这个数据库扩展的一个类,如果要用到别的数据库的话就可以用PDO来做 1.操作数据库 先来代码 <!--PDO--> <! ...

  2. PDO(数据访问抽象层)、pdo事务功能和预处理功能---2017-05-05

    之前所学的数据访问都是用mysqli做成类来访问的,但是mysqli这个类只是针对mysql这个数据库的:那么如果访问其他类型的数据库呢? 那么这就用到了PDO(数据访问抽象层). 一.关于PDO基本 ...

  3. PHP中关于PDO数据访问抽象层的功能操作

    PDO:数据访问抽象层 具有三大特点: 1.可以访问其它数据库  所有数据库都可以 2.具有事务功能 3.带有预处理语句功能(防止SQL注入攻击) 实例操作代码如下: <?php //1.造PD ...

  4. PDO数据访问抽象层(上)

    PDO比MySQLi功能强大 PDO可以访问MySQL及其它数据库 一.造对象 <?php $dsn = "mysql:dbname = crud;host = localhost&q ...

  5. PDO 数据访问抽象层

    1.操作其它数据库 (1)造对象 $dsn = "mysql:dbname=test3;host=localhost"; //数据源:两个参数:数据库驱动,链接数据库 $pdo = ...

  6. php 之 PDO数据访问抽象层(0513)

    PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口. PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数, 基于数据库使用的安全性,因为后者欠缺对于S ...

  7. PDO数据访问抽象层(下)

    PDO两大功能 一.事务功能 PDO的事务功能主要控制好几条sql语句同时成功或者同时失败(当其中一条SQL语句有错误时,同时好几条一起失败),失败时可以回滚操作 1.造对象 <?php $ds ...

  8. php PDO:数据访问抽象层

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. PDO:数据访问抽象层

    <?php //PDO:数据访问抽象层 //带有事务功能: //dsn:数据源 $dsn="mysql:host=localhost;dbname=aaas"; //造pdo ...

随机推荐

  1. HDU 4918 Query on the subtree(动态点分治+树状数组)

    题意 给定一棵 \(n\) 个节点的树,每个节点有点权.完成 \(q\) 个操作--操作分两种:修改点 \(x\) 的点权.查询与 \(x\) 距离小于等于 \(d\) 的权值总和. \(1 \leq ...

  2. Python多线程爬虫

    前言 用上多线程,感觉爬虫跑起来带着风 运行情况 爬取了9万多条文本记录,耗时比较短,一会儿就是几千条 关键点 多个线程对同一全局变量进行修改要加锁 # 获取锁,用于线程同步 threadLock.a ...

  3. SAP本地化-银企直连

    SAP本地化-银企直连 http://blog.sina.com.cn/s/blog_a0de8cc80101dee1.html 一.发展历史 2011年,在SAP ECC6 Ehp5中,通过功能增强 ...

  4. 51nod 1275 连续字段的差异(单调队列)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1275 题意: 思路: 固定某个端点,然后去寻找满足能满足要求的最大区间, ...

  5. 解决Geoserver请求跨域的几种思路,第二种思路用过

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景描述 跨域问题是浏览器同源安全制引起的特别常见的问题.不同前端语 ...

  6. CSS sprites

    CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式. 优点: 它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一 ...

  7. Oracle DBHelper 第二版

    public static class OracleDBHelper { public static OracleCommand cmd = null; public static OracleCon ...

  8. CentOS6.5下搭建SVN服务器

    1.检查是否已安装 rpm -qa | grep subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:y ...

  9. Windows下Oracle创建数据库的3种方式

    1.   Creating a Database with DBCA DatabaseConfiguration Assistant (DBCA) is the preferred way to cr ...

  10. ZZNU 正约数之和 2094

    #include<iostream> #include<cstring> #include<queue> #include<cstdio> #inclu ...