php PDO:数据访问抽象层
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<?php //PDO:数据访问抽象层
//dsn:数据源
//1.带有事务功能:
$dsn="mysql:host=localhost;dbname=bilibili";
//造PDO对象
$pdo=new PDO($dsn,"root",""); //设置为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION ); try
{
//写SQL语句
$sql="insert into nation values ('n007','白族')";
$sql1="insert into nation values ('n002','白族')";
//$sql2="insert into nation values ('n008','白族')"; //启动事务
$pdo->beginTransaction(); //执行SQL语句
$pdo->exec($sql);
$pdo->exec($sql1);
//$pdo->exec($sql2); $pdo->commit();
}
catch (PDOException $e)
{
//echo $e->getMessage();
//回滚事务
$pdo->rollBack();
} /*foreach($a as $v)
{
var_dump($v);
}
*/ ?>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<?php //2.防止SQL注入攻击
$dsn="mysql:host=localhost;dbname=bilibili";
$pdo=new PDO($dsn,"root",""); $sql="insert into nation values(?,?)"; //将一条SQL语句放到服务器等待执行
$stm=$pdo->prepare($sql); /*//绑定参数
$stm->bindParam(1,$code);
$stm->bindParam(2,$name); //给变量赋值
$code="n030";
$name="蒙古";*/ $attr=array("n031","壮族"); //执行预处理语句,执行成功返回true,执行失败返回false
if($stm->execute($attr))
{
//var_dump($stm->fetch());
//var_dump($stm->fetchAll(PDO::FETCH_ASSOC));
} ?>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<?php //2.防止SQL注入攻击
$dsn="mysql:host=localhost;dbname=bilibili";
$pdo=new PDO($dsn,"root",""); $sql="insert into nation values(:code,:name)"; //将一条SQL语句放到服务器等待执行
$stm=$pdo->prepare($sql); /*//绑定参数
$stm->bindParam(1,$code);
$stm->bindParam(2,$name); //给变量赋值
$code="n030";
$name="蒙古";*/ $attr=array("code"=>"n032","name"=>"土家"); //执行预处理语句,执行成功返回true,执行失败返回false
if($stm->execute($attr))
{
//var_dump($stm->fetch());
//var_dump($stm->fetchAll(PDO::FETCH_ASSOC));
} ?>
</body>
</html>
php 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 ...
- PDO:数据访问抽象层
<?php //PDO:数据访问抽象层 //带有事务功能: //dsn:数据源 $dsn="mysql:host=localhost;dbname=aaas"; //造pdo ...
随机推荐
- C#构造方法重载
1.什么是构造方法? 首先,它是一个方法,它是类中 众多方法中的一个.其次,它具有类中其他方法所不具备的一些特性. 在类执行开始的时候,执行这个方法. 2.构造方法相对其他方法有哪些不同? 方法名:类 ...
- ubuntu add application to launcher
eg. add sublime text to launcher so as to be found by launcher, docky, etc. add a file sudo gedit /u ...
- Different Ways to Add Parentheses
Given a string of numbers and operators, return all possible results from computing all the differen ...
- Python模块之optparse
参考: http://www.cnblogs.com/captain_jack/archive/2011/01/11/1933366.html https://docs.python.org/2/li ...
- Android开发者必备的42个链接
http://mobile.51cto.com/ahot-426035.htm Android开发者必备的42个链接 下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助 ...
- 手记-数学分析(高等数学)中有关算法效率的公式列举(O,Θ,Ω)
权当数据结构与算法分析的学习手记 系数为一的幂级数部分和公式 ∑ n2 = 12 + 22 + 32 + ... + n2 = n(n+1)(2n+1)/6 = O(n3) ∑ n3 = ...
- springMVC配置文件位置及名称
在web.xml文件内配置springMVC的DispatcherServlet的那个servlet内添加 <servlet> <servlet-name>mvc</se ...
- Effective C++ -----条款43:学习处理模板化基类内的名称
可在derived class templates内通过“this->“指涉base class templates内的成员名称,或藉由一个明白写出的”base class资格修饰符”完成.
- CODE VS1008选数
#include<cstdlib> #include<cstdio> #include<iostream> #include<cmath> #inclu ...
- Class和ClassLoader的getResourceAsStream区别
这两个方法还是略有区别的, 以前一直不加以区分,直到今天发现要写这样的代码的时候运行 错误, 才把这个问题澄清了一下. 基本上,两个都可以用于从 classpath 里面进行资源读取, classp ...