<!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>

PDO:: 数据访问抽象层 ? :的更多相关文章

  1. PDO数据访问抽象层

    PDO数据访问抽象层: 我们使用的mysqli是针对mysql这个数据库扩展的一个类,如果要用到别的数据库的话就可以用PDO来做 1.操作数据库 先来代码 <!--PDO--> <! ...

  2. PDO(数据访问抽象层)、pdo事务功能和预处理功能---2017-05-05

    之前所学的数据访问都是用mysqli做成类来访问的,但是mysqli这个类只是针对mysql这个数据库的:那么如果访问其他类型的数据库呢? 那么这就用到了PDO(数据访问抽象层). 一.关于PDO基本 ...

  3. PHP中关于PDO数据访问抽象层的功能操作

    PDO:数据访问抽象层 具有三大特点: 1.可以访问其它数据库  所有数据库都可以 2.具有事务功能 3.带有预处理语句功能(防止SQL注入攻击) 实例操作代码如下: <?php //1.造PD ...

  4. PDO数据访问抽象层(上)

    PDO比MySQLi功能强大 PDO可以访问MySQL及其它数据库 一.造对象 <?php $dsn = "mysql:dbname = crud;host = localhost&q ...

  5. PDO 数据访问抽象层

    1.操作其它数据库 (1)造对象 $dsn = "mysql:dbname=test3;host=localhost"; //数据源:两个参数:数据库驱动,链接数据库 $pdo = ...

  6. php 之 PDO数据访问抽象层(0513)

    PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口. PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数, 基于数据库使用的安全性,因为后者欠缺对于S ...

  7. 5月13 PDO数据访问抽象层

    方法1:较简单的 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  8. PDO数据访问抽象层(下)

    PDO两大功能 一.事务功能 PDO的事务功能主要控制好几条sql语句同时成功或者同时失败(当其中一条SQL语句有错误时,同时好几条一起失败),失败时可以回滚操作 1.造对象 <?php $ds ...

  9. php PDO:数据访问抽象层

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. PDO:数据访问抽象层

    <?php //PDO:数据访问抽象层 //带有事务功能: //dsn:数据源 $dsn="mysql:host=localhost;dbname=aaas"; //造pdo ...

随机推荐

  1. viewpager+fragment出现TransactionTooLargeException的大坑!!!

    最近apk包发给部分测试用户,反馈出现很多崩溃,异常是android.os.TransactionTooLargeException,看表面意思就是传送的数据太大,可是检查代码并没有传输很大的数据啊. ...

  2. Codeforces Gym101063 J.The Keys (2016 USP-ICMC)

    J.The Keys Out of all science labs constructed by the GEMA mission on Mars, the DSL - Dangerous Spec ...

  3. Codeforces Round #467 (Div. 2) B. Vile Grasshoppers[求去掉2-y中所有2-p的数的倍数后剩下的最大值]

    B. Vile Grasshoppers time limit per test 1 second memory limit per test 256 megabytes input standard ...

  4. 10.1综合强化刷题 Day1 afternoon

    一道图论好题(graph) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图, ...

  5. java.lang.StackOverflowError at org.eclipse.jetty.util.resource.Resource.<init>(Resource.java:40)

    今天做项目的时候,不知道哪根筋搭错了,多写了一句话,导致我忙活了一下午,各种百度,最后在朋友的帮助下,给了我思路,完美解决,不多说,上图. 我的登录页面引入了bootstrap.jsp的东西 解决问题 ...

  6. python 设计模式之命令模式

    命令模式介绍: 在面向对象编程中,命令模式是概括所有方法信息的设计模式. 此模式对象包涵方法名,及其相关参数值. 命令模式是一个分类的观察者设计模式,在命令模式下,对象被概括为一个命令表单,此表单包涵 ...

  7. POJ 2484 A Funny Game [博弈]

    题意:n枚硬币围成一个圈,每次每个人可以从中取走一枚或者相邻的两枚(如果两枚硬币原本中间隔着一枚硬币,后来被取走,这两枚硬币不算相邻).谁取走最后一枚硬币谁就赢了. 思路:我们可以找找规律. 首先,n ...

  8. SQL Server Debugging with WinDbg – an Introduction

    Klaus Aschenbrenner Klaus Aschenbrenner provides independent SQL Server Consulting Services across E ...

  9. vim display line number

    cd /etc/vim sudo chmod 777 vimrc add :ser number to vimrc, then save and quit

  10. SilverLight.3-Validation:二、银光验证。TheLabel、TheDescriptionViewer和TheValidationSummary

    ylbtech-SilverLight.3-DataControls_BetterDataFroms:二.银光验证.TheLabel.TheDescriptionViewer和TheValidatio ...