<pre>
<?php
header("Content-type:text/html;charset=utf8");
//error_reporting(E_ALL^E_NOTICE);
//session_start(); //启用SESSION
date_default_timezone_set('prc');//时间设置为北京时间,默认时间比北京早8小时

$db_host="localhost"; //数据库服务器名称
$db_user="root"; // 连接数据库用户名
$db_pwd=""; // 连接数据库密码
$db_name="qiucoo_20170629"; // 数据库的名字
$db_ms="mysql";
$dsn="$db_ms:host=$db_host;dbname=$db_name";

//PDO使用说明实例
//
//数据库链接
$db = new PDO($dsn,$db_user,$db_pwd,array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8")); //pdo链接

echo "<b style='font-size:20px;background-color:red; color:#fff; padding:5px 20px;'>eg-1:</b><br/>";
//query() 用于查询数据记录并返回查询结果。
$sql = "SELECT c_id,c_name FROM `qy_coupon` limit 0,2";
foreach ($db->query($sql) as $row){
  var_dump($row);
}

echo "<b style='font-size:20px;background-color:red; color:#fff; padding:5px 20px;'>eg-2:</b><br/>";
//fetch() 方法用于从结果集中获取一行结果,该方法行为类似 mysql_fetch_array() ,不同的是该方法不仅返回数组,还可返回对象。
$sql = "SELECT c_id,c_name FROM `qy_coupon` limit 0,2";
$result = $db->query($sql);
while($row = $result->fetch()){
var_dump($row);
}

echo "<b style='font-size:20px;background-color:red; color:#fff; padding:5px 20px;'>eg-3:</b><br/>";
//setFetchMode() 如果不在 fetch() 中指定返回的结果类型,也可以单独使用 setFetchMode() 方法设定
//PDO::FETCH_ASSOC 关联索引(字段名)数组形式
//PDO::FETCH_NUM 数字索引数组形式
//PDO::FETCH_BOTH 默认,关联及数字索引数组形式都有
//PDO::FETCH_OBJ 按照对象的形式
//PDO::FETCH_BOUND 通过 bindColumn() 方法将列的值赋到变量上
//PDO::FETCH_CLASS 以类的形式返回结果集,如果指定的类属性不存在,会自动创建
//PDO::FETCH_INTO 将数据合并入一个存在的类中进行返回
//PDO::FETCH_LAZY 结合了 PDO::FETCH_BOTH、PDO::FETCH_OBJ,在它们被调用时创建对象变量
$result = $db->query($sql);
$result->setFetchMode(PDO::FETCH_ASSOC);
while($row = $result->fetch()){
var_dump($row);
}

echo "<b style='font-size:20px;background-color:red; color:#fff; padding:5px 20px;'>eg-4:</b><br/>";
//fetchAll() 方法用于把数据从数据集一次性取出并放入数组中。
$sth = $db->query($sql);
$row = $sth->fetchAll();
var_dump($row);
//只返回(index=1)
$row = $sth->fetchAll(PDO::FETCH_COLUMN, 1);
var_dump($row);
//将 username GROUP 返回(注:由于表中 username 无重复记录,因此本例无意义)
$row = $sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP, 1);
var_dump($row);

echo "<b style='font-size:20px;background-color:red; color:#fff; padding:5px 20px;'>eg-5:</b><br/>";
//PDO->exec() 方法主要是针对没有结果集合返回的操作,比如 INSERT、UPDATE、DELETE 等操作,它返回的结果是当前操作影响的列数。
$c_name = "优惠券:".time().":插入记录";
$sql = "INSERT INTO qy_coupon (ca_id,c_name)VALUES('109','$c_name')";
$count = $db->exec($sql);
$last_id = $db->lastInsertId('c_id');//返回插入记录的某个字段
echo '<br>写入 ',$count,' 条数据记录!';

echo "<br><br><b style='font-size:20px;background-color:red; color:#fff; padding:5px 20px;'>eg-6:</b><br/>";
//取回结果集中的一个字段
$sql = "select count(*) from qy_coupon";
$result = $db->query($sql);//提交sql
$rowsNumber = $result->fetchColumn();
echo "<br>".$rowsNumber;

echo "<br><br><b style='font-size:20px;background-color:red; color:#fff; padding:5px 20px;'>eg-7:</b><br/>";
//只返回一条记录
$sql="SELECT * FROM `qy_coupon` order by c_id asc";
$result=$db->prepare($sql);// 预处理
var_dump($result);
$result->execute();
$res = $result->fetch(PDO::FETCH_ASSOC);
var_dump($res);

echo "<br><b style='font-size:20px;background-color:red; color:#fff; padding:5px 20px;'>eg-8:</b><br/>";
//执行语名返回影响记录行数
$query = "INSERT INTO `qy_coupon` (ca_id,c_name) value ('109','$c_name')";
$result = $db->prepare($query);
$count = $result->execute();
echo '<br>写入 ',$count,' 条数据记录!';

$db = NULL;

?>
<pre>

PHP使用PDO操作数据库的示例的更多相关文章

  1. 使用PDO操作数据库的好处

    PDO一是PHP数据对象(PHP Data Object)的缩写. 并不能使用PDO扩展本身执行任何数据库操作,必须使用一个database-specific PDO driver(针对特定数据库的P ...

  2. php pdo操作数据库

    POD扩展是在PHP5中加入,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题. PDO的特点: 性能.PDO 从一开始就吸取了现有数据库扩展成 ...

  3. Linux环境下proc的配置c/c++操作数据库简单示例

    在虚拟机上装了oracle11g数据库,原本想利用c/c++学习操作数据库.结果感觉摊上了一个大坑.从安装好oracle数据库到配置好proc的编译选项整整花了二天.但让我意识到自己自己几点薄弱:1. ...

  4. PHP 笔记——PDO操作数据库

    一.简介 ​ PHP 5.1可使用轻量级的统一接口 PDO(PHP Data Object,PHP数据对象)来访问各种常见的数据库.而使用PDO只需要指定不同的 DSN(数据源名称)即可访问不同的数据 ...

  5. php pdo操作数据库的方法

    PDO 安装 你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展. 1.在 Unix /linux系统上安装 PDO 在Unix上或Linux上你需要添加以下扩展: exten ...

  6. THINKPHP5操作数据库代码示例

    数据库表结构 #表结构 CREATE TABLE `qrcode_file` ( `id` ) NOT NULL AUTO_INCREMENT, `active` ) ' COMMENT '是否有效' ...

  7. PDO操作数据库

  8. 封装PDO操作数据库

    <?php class DatabaseHandler { /** * sql语句查询 */ public static function query_data ($dataName,$sql, ...

  9. PHP数据库扩展 - PDO操作

    PDO操作 PDO操作 描述:odp是php对数据库操作统一化的操作 语法:$pdo = new PDO("DB名:host=主机名;dbname=DB名","DB账号& ...

随机推荐

  1. Python——字符串、文件操作,英文词频统计预处理

    一.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 2.凯撒密码编码与解码 凯撒加密法的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左 ...

  2. css之positon与z-index

    在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共有四种不同的定位方法,分别是static.fixed.re ...

  3. EditPlus软件自动补全文档htmlbar.acp设置 及 模板文件格式

    1.在htmlbar.acp文件末尾添加如下内容,可自动补全: #T=HTML <html>    ^! </html>   #T=HEAD <head>    ^ ...

  4. 解决Chrome浏览器访问https提示“您的连接不是私密连接”的问题

    安装fiddler后,使用Chrome访问https网站时,可能会出现以下错误,本文说明如何解决此类问题: “您的连接不是私密连接”.“NET::ERR_CERT_AUTHORITY_INVALID” ...

  5. js判断字段是否为空 isNull

    js判断字段是否为空 isNull   //在js中if条件为null/undefined/0/NaN/""表达式时,统统被解释为false,此外均为true .//为空判断函数f ...

  6. https加密流程

     引用其它博主博客,在这里谢谢这位博主,原博客地址:https://blog.csdn.net/xincai/article/details/51954468 1,下面,用一幅图展示一下https建立 ...

  7. 《贝贝GO》服务条款

    服务条款 一.服务条款的确认与接收 1.贝贝GO客户端软件(以下简称“本软件”)各项电子服务的所有权和运作权归属于“东莞市山水信息技术有限公司”(以下称“本公司”)所有,本软件提供的服务将完全按照其发 ...

  8. Android 底部导航栏的xml

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...

  9. nodejs中的垃圾回收机制

    node是基于V8引擎开发的,V8的设计是为浏览器设计的,所以V8的内存相对较少,当然可以通过 node --max-old-space-size=1700 (单位是MB) 或 node --max- ...

  10. 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contai

    之前一直使用的mysql5,突然换成8之后,有许多地方不一样,今天就碰到一个. 在使用sql语句创建表时,报错:  1055 - Expression #1 of ORDER BY clause is ...