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账号& ...
随机推荐
- Python——字符串、文件操作,英文词频统计预处理
一.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 2.凯撒密码编码与解码 凯撒加密法的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左 ...
- css之positon与z-index
在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共有四种不同的定位方法,分别是static.fixed.re ...
- EditPlus软件自动补全文档htmlbar.acp设置 及 模板文件格式
1.在htmlbar.acp文件末尾添加如下内容,可自动补全: #T=HTML <html> ^! </html> #T=HEAD <head> ^ ...
- 解决Chrome浏览器访问https提示“您的连接不是私密连接”的问题
安装fiddler后,使用Chrome访问https网站时,可能会出现以下错误,本文说明如何解决此类问题: “您的连接不是私密连接”.“NET::ERR_CERT_AUTHORITY_INVALID” ...
- js判断字段是否为空 isNull
js判断字段是否为空 isNull //在js中if条件为null/undefined/0/NaN/""表达式时,统统被解释为false,此外均为true .//为空判断函数f ...
- https加密流程
引用其它博主博客,在这里谢谢这位博主,原博客地址:https://blog.csdn.net/xincai/article/details/51954468 1,下面,用一幅图展示一下https建立 ...
- 《贝贝GO》服务条款
服务条款 一.服务条款的确认与接收 1.贝贝GO客户端软件(以下简称“本软件”)各项电子服务的所有权和运作权归属于“东莞市山水信息技术有限公司”(以下称“本公司”)所有,本软件提供的服务将完全按照其发 ...
- Android 底部导航栏的xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...
- nodejs中的垃圾回收机制
node是基于V8引擎开发的,V8的设计是为浏览器设计的,所以V8的内存相对较少,当然可以通过 node --max-old-space-size=1700 (单位是MB) 或 node --max- ...
- 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 ...