PHP使用PDO操作数据库的示例
<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操作数据库的示例的更多相关文章
- 使用PDO操作数据库的好处
PDO一是PHP数据对象(PHP Data Object)的缩写. 并不能使用PDO扩展本身执行任何数据库操作,必须使用一个database-specific PDO driver(针对特定数据库的P ...
- php pdo操作数据库
POD扩展是在PHP5中加入,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题. PDO的特点: 性能.PDO 从一开始就吸取了现有数据库扩展成 ...
- Linux环境下proc的配置c/c++操作数据库简单示例
在虚拟机上装了oracle11g数据库,原本想利用c/c++学习操作数据库.结果感觉摊上了一个大坑.从安装好oracle数据库到配置好proc的编译选项整整花了二天.但让我意识到自己自己几点薄弱:1. ...
- PHP 笔记——PDO操作数据库
一.简介 PHP 5.1可使用轻量级的统一接口 PDO(PHP Data Object,PHP数据对象)来访问各种常见的数据库.而使用PDO只需要指定不同的 DSN(数据源名称)即可访问不同的数据 ...
- php pdo操作数据库的方法
PDO 安装 你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展. 1.在 Unix /linux系统上安装 PDO 在Unix上或Linux上你需要添加以下扩展: exten ...
- THINKPHP5操作数据库代码示例
数据库表结构 #表结构 CREATE TABLE `qrcode_file` ( `id` ) NOT NULL AUTO_INCREMENT, `active` ) ' COMMENT '是否有效' ...
- PDO操作数据库
- 封装PDO操作数据库
<?php class DatabaseHandler { /** * sql语句查询 */ public static function query_data ($dataName,$sql, ...
- PHP数据库扩展 - PDO操作
PDO操作 PDO操作 描述:odp是php对数据库操作统一化的操作 语法:$pdo = new PDO("DB名:host=主机名;dbname=DB名","DB账号& ...
随机推荐
- P1403 [AHOI2005]约数研究 题解
转载luogu某位神犇的题解QAQ 这题重点在于一个公式: f(i)=n/i 至于公式是怎么推出来的,看我解释: 1-n的因子个数,可以看成共含有2因子的数的个数+含有3因子的数的个数……+含有n因子 ...
- python dns
- 杭电ACM1007
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- scrapy splash 之一二
scrapy splash 用来爬取动态网页,其效果和scrapy selenium phantomjs一样,都是通过渲染js得到动态网页然后实现网页解析, selenium + phantomjs ...
- js 音乐播放器
在写之前先说下我遇到得两个问题,第一个问题是,在音乐标签,我希望得是切换数据做到得,但是出了问题,暂时为解决,第二个问题,页面切换时音乐继续播放由卡顿情况,未处理好. 好了,那我们开始做这个音乐播放器 ...
- 四:客服端防护HTTP发送请求类
一.源代码: public class swtDefendOperate{private BackgroundWorker backgroundWorker;//DefendType的值 Verify ...
- 2019-04-25-day040-数据库的查询
内容回顾 数据的增删改查 插入数据 insert into 表 values (值1,值2...) insert into 表(指定字段名1,字段名2) values (值1,值2...) 删除数据 ...
- dom树渲染对性能的影响
这样写会访问两次dom节点树,一次读取innerHTML,一次重写innerHTML. 当然,加载速度也是很惊人的. 用一个变量把a存起来,只读取和重写innerHTML一次. 可以看到加载时间大幅度 ...
- 初涉FlaskWeb开发----基础篇
1.web程序运行的基本流程 {客户端发送请求 <-----> 服务器返回响应} 2.使用框架可以降低开发难度,提高开发效率. 3.Flask框架的基本认识: 特点:用Python语言实现 ...
- A The Empire Age
1月28日 Description 帝国时代3是一款十分刺激的RTS游戏.你需要控制自己的一块殖民地,发展殖民地的经济和军事,最终打败其他殖民地.小L是这个游戏的狂热爱好者.一次小L打算打AI试试身手 ...