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账号& ...
随机推荐
- ios调用Google地图
现在的ios版本一般只支持https协议,而引用谷歌地图API时只提供src="http://maps.google.cn/maps/api/js..",https协议无法使用,解 ...
- 关于python那些事儿
学习总结: 1.输入一个数据 a=input. 2.在输出结果中增加字符 # 运行如下语句: print("你的名字叫{}.".format("饺子")) (以 ...
- intptr_t 指针(转)
reference:http://muchong.com/bbs/ 对于64为系统: typedef signed char int8_t; typedef short int int16_t; ty ...
- open还是codecs.open区别
>>> fr = open('test.txt','a')>>> line1 = "我是一道光">>> fr.write(li ...
- shiro三连斩之第一斩
通过JavaSE,创建不同的 realm ,由简单到复杂一步步的深入的理解shiro完成认证与授权内在联系 推荐从下向上一步步的测试,每一个方法都有详细的注释,说明 从哪里来-->到哪里去,理 ...
- 一个redis因为关闭快照无法连接的BUG
[2018-04-19 11:00:08,587: ERROR/MainProcess] consumer: Cannot connect to redis://127.0.0.1:6379/0: M ...
- pytest自动化2:测试用例setup和teardown
前言: pytest支持函数和类两种用例方式,针对每种情况都有不同的代码 pytest用例运行级别 模块级(setup_module/teardown_module)开始于模块始末,全局的 函数级(s ...
- python之django母板页面
其实就是利用{% block xxx %} {% endblock %}的方式定义一个块,相当于占位.存放在某个html中,比如base.html 然后在需要实现这些块的文件中,使用继承{% ex ...
- 四、fgets与fputs
fgets 描述:从流中读取最多size个字符,遇到文件末尾或\n则停止读取,该函数会在读取到的字符最后加上\0. 原型:char *fgets(char *s, int size, FILE *st ...
- vue-router 重难点总结笔记
1,使用动态路由配置的(如:‘:id’),可以在this.$router.params.id获得. 官网例子: 模式 匹配路径 $route.params /user/:username /user/ ...