2016/4/1 PDO:: 数据访问抽象层 ? :
①PDO方式连接 数据库
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
//定义数据源
$dsn="mysql:dbname=test2;host=localhost";
//$dsn="sqlsrv:dbname";
//造pdo对象
$pdo=new PDO($dsn,"root","123"); //写SQL语句
$sql="select * from Info"; //准备执行语句
$st=$pdo->prepare($sql); //执行预处理语句
$st->execute();// 条件判断 返回true 或 false
if ($st->execute()) {
print_r($st->fetch()); //一次调用一条
}
else{
echo "执行失败!";
}
//从结果集中取所有数据,返回二维数组
//print_r($st->fetchAll(PDO::FETCH_NUM));
//从结果集中取一条数据中的某一列,返回字符串
//var_dump($st->fetchColumn(1));
//从结果集中取一条数据,返回一个实体类的对象
//var_dump($st->fetchObject());
?>
</body>
</html>
图:

② ????? prepare($sql) bindParam(1,$XX) $XX="ss" exectue() 方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
//造PDO对象
$pdo=new PDO("mysql:dbname=test2;host=localhost","root","123"); //写SQl语句
$sql="insert into Info values(?,?,?,?,?)"; //准备SQL语句
$st=$pdo->prepare($sql);
//给SQL语句分配变量
$st->bindParam(1,$code);
$st->bindParam(2,$name);
$st->bindParam(3,$sex);
$st->bindParam(4,$nation);
$st->bindParam(5,$birthday);
//给变量赋值
$code="p120";
$name="回家";
$sex=true;
$nation="n002";
$birthday="1988-9-6";
//执行SQL语句
$st->execute();
?>
</body>
</html>
????? prepare($sql) exectue(array("ss")) 方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
//造PDO对象
$pdo=new PDO("mysql:dbname=test2;host=localhost","root","123"); //写SQl语句
$sql="insert into Info values(?,?,?,?,?)"; //准备SQL语句
$st=$pdo->prepare($sql);
$st->execute(array('p0030','克隆',true,'n001','1989-2-3'));//把分配变量和赋值干掉,只用这句。 ?>
</body>
</html>
③::::: prepare($sql) bindParam("",$XX,PDO::PARAM_STR); $XX="" exectue() 方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
//造PDO对象
$pdo=new PDO("mysql:dbname=test2;host=localhost","root","123"); //写SQl语句
$sql="insert into info values(:c,:n,:s,:na,:b)"; //准备SQL语句
$st=$pdo->prepare($sql); //绑定参数
$st->bindParam("c",$code,PDO::PARAM_STR);
$st->bindParam("n",$name,PDO::PARAM_STR);
$st->bindParam("s",$sex,PDO::PARAM_STR);
$st->bindParam("na",$nation,PDO::PARAM_STR);
$st->bindParam("b",$birthday,PDO::PARAM_STR); //参数赋值
$code="p181";
$name="纳";
$sex=true;
$nation="n002";
$birthday="1988-2-3"; //执行
$st->execute();
?>
</body>
</html>
::::: prepare($sql) execute(); 方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
//造PDO对象
$pdo=new PDO("mysql:dbname=test2;host=localhost","root","123"); //写SQl语句
$sql="insert into info values(:c,:n,:s,:na,:b)"; //准备SQL语句
$st=$pdo->prepare($sql);
$st->execute(array('c'=>'p190','n'=>'水果','s'=>true,'na'=>'n002','b'=>'1990-2-3'));
?>
</body>
</html>
图:

2016/4/1 PDO:: 数据访问抽象层 ? :的更多相关文章
- PDO数据访问抽象层
PDO数据访问抽象层: 我们使用的mysqli是针对mysql这个数据库扩展的一个类,如果要用到别的数据库的话就可以用PDO来做 1.操作数据库 先来代码 <!--PDO--> <! ...
- PDO(数据访问抽象层)、pdo事务功能和预处理功能---2017-05-05
之前所学的数据访问都是用mysqli做成类来访问的,但是mysqli这个类只是针对mysql这个数据库的:那么如果访问其他类型的数据库呢? 那么这就用到了PDO(数据访问抽象层). 一.关于PDO基本 ...
- PHP中关于PDO数据访问抽象层的功能操作
PDO:数据访问抽象层 具有三大特点: 1.可以访问其它数据库 所有数据库都可以 2.具有事务功能 3.带有预处理语句功能(防止SQL注入攻击) 实例操作代码如下: <?php //1.造PD ...
- PDO数据访问抽象层(上)
PDO比MySQLi功能强大 PDO可以访问MySQL及其它数据库 一.造对象 <?php $dsn = "mysql:dbname = crud;host = localhost&q ...
- PDO 数据访问抽象层
1.操作其它数据库 (1)造对象 $dsn = "mysql:dbname=test3;host=localhost"; //数据源:两个参数:数据库驱动,链接数据库 $pdo = ...
- php 之 PDO数据访问抽象层(0513)
PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口. PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数, 基于数据库使用的安全性,因为后者欠缺对于S ...
- 5月13 PDO数据访问抽象层
方法1:较简单的 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- PDO数据访问抽象层(下)
PDO两大功能 一.事务功能 PDO的事务功能主要控制好几条sql语句同时成功或者同时失败(当其中一条SQL语句有错误时,同时好几条一起失败),失败时可以回滚操作 1.造对象 <?php $ds ...
- php PDO:数据访问抽象层
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- PDO:数据访问抽象层
<?php //PDO:数据访问抽象层 //带有事务功能: //dsn:数据源 $dsn="mysql:host=localhost;dbname=aaas"; //造pdo ...
随机推荐
- 在不使用ssr的情况下解决Vue单页面SEO问题
遇到的问题: 近来在写个人博客的时候遇到了大家可能都会遇到的问题 Vue单页面在SEO时显得很无力,尤其是百度不会抓取动态脚本 Vue-Router配合前后端分离无法让meta标签在蜘蛛抓取时动态填充 ...
- 第九节:pandas打印设置
get_option() :获取系统默认设置选项: set_option() :设置系统设置选项.
- Mybatis 缓存策略
听极客学院笔记 使用mybatis的缓存需要以下三步 一.在mybatis的config.xml中开启缓存 <settings> <setting name="cacheE ...
- xtu read problem training 3 B - Gears
Gears Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on ZJU. Original ID: 3789 ...
- Web性能压力测试工具——Siege
最近需要对Istio里的bookinfo进行分析,老是手去刷新太慢了,就找了个自动点的工具——Siege Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力.可以根据配置对一 ...
- hihoCoder#1133 二分·二分查找之k小数
原题地址 经典问题了,O(n)时间内找第k大的数 代码: #include <iostream> using namespace std; int N, K; int *a; int se ...
- [codeforces551E]GukiZ and GukiZiana
[codeforces551E]GukiZ and GukiZiana 试题描述 Professor GukiZ was playing with arrays again and accidenta ...
- 多边形之战(bzoj 2927)
Description 多边形之战是一个双人游戏.游戏在一个有n个顶点的凸多边形上进行,这个凸多边形的n-3条对角线将多边形分成n-2个三角形,这n-3条对角线在多边形的顶点相交.三角形中的一个被染成 ...
- 数字游戏(codevs 1085)
题目描述 Description 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共 ...
- iOS 如何查看崩溃日志
参考网址: [转载]https://www.jianshu.com/p/4de55d73c82b [转载]https://blog.csdn.net/qq_26544491/article/detai ...