- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP的PDO操作简单示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例讲述了PHP的简单PDO操作。分享给大家供大家参考,具体如下:
网上关于PDO的资料很多。这里就不累赘了.
这里我将PDO所有操作封装到一个类里方便操作.
类代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
class
DB {
//pdo对象
public
$con
= NULL;
function
DB()
{
$this
->con =
new
PDO(
"mysql:host=127.0.0.1;dbname=dbtest"
,
"root"
,
"xxx"
,
array
(
PDO::MYSQL_ATTR_INIT_COMMAND =>
'SET NAMES `utf8`'
,
PDO::ATTR_PERSISTENT => TRUE,
));
$this
->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this
->con->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
}
public
function
query(
$sql
,
$para
= NULL)
{
$sqlType
=
strtoupper
(
substr
(
$sql
, 0, 6));
$cmd
=
$this
->con->prepare(
$sql
);
if
(
$para
!= NULL)
{
$cmd
->execute(
$para
);
}
else
{
$cmd
->execute();
}
if
(
$sqlType
==
"SELECT"
)
{
return
$cmd
->fetchAll();
}
if
(
$sqlType
==
"INSERT"
)
{
return
$this
->con->lastInsertId();
}
return
$cmd
->rowCount();
}
}
|
使用方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
include
"pdo.php"
;
$db
=
new
DB();
$subjectList
=
$db
->query(
"SELECT * FROM `table1`"
);
$count
=
$db
->query(
"UPDATE `table1` SET `name` = 'test' WHERE `id` = :id"
,
array
(
':id'
=> 795));
try
{
echo
$db
->con->beginTransaction();
$count
=
$db
->con->
exec
(
"UPDATE `table1` SET `name` = 'test1' WHERE `id` = 795"
);
$count
=
$db
->con->
exec
(
"UPDATE `table1` SET `name1` = 'test22' WHERE `id` = 795"
);
$count
=
$db
->con->
exec
(
"UPDATE `table1` SET `name1` = 'test333' WHERE `id` = 795"
);
echo
$db
->con->commit();
}
catch
(Exception
$e
)
{
// MYSQL 的表类型 InnoDB(支持事务) MyISAM(不支持事务)
echo
$db
->con->rollBack();
throw
new
MyException(
"事务测试错误"
,
$e
);
}
$db
= NULL;
|
PDO支持SQL语句以参数方式调用,可有效的防止SQL注入.
希望本文所述对大家PHP程序设计有所帮助.
最后此篇关于PHP的PDO操作简单示例的文章就讲到这里了,如果你想了解更多关于PHP的PDO操作简单示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
PHP查询: prepare('SELECT * FROM Locations WHERE user_id = :id LIMIT 0, 5'); $query->bindParam(":id
到目前为止我一直在使用 PDO->bindParam 但是在阅读手册时我发现 PDO->bindValue 我可以告诉 PDO->bindValue 按值传递,而 PDO->bindParam 按引用
我使用PDO进行MySQL数据库连接、选择、更新和删除。 但是我在选择带有特殊字符的行时遇到问题,例如,我想选择带有“Judge-Fürstová Mila”的页面标题, 表页, id titl
我使用的是 PHP 5.2.9 和 Apache 2.2.11 以及 mysql 5.1.32 为什么我不能禁用 PDO::ATTR_EMULATE_PREPARES ? 下面是代码: false)
当 PDO::ATTR_PERSISTENT = true 时,PDO::exec 和 PDO::query 之间似乎存在差异。当使用PDO::exec时,连接将不会被重用,并最终导致MySQL出现“
我正在尝试调整 Zend Skeleton App 以使用 ODBC 连接。我能够在 Zend 之外设置 PDO 连接(同一个表、服务器、所有内容),如下所示: new PDO('odbc:DRIVE
我正在使用 XAMPP 3.2.1 在 Windows 7 上使用 PDO,但在使其正常工作时遇到问题,即使它可以在我的共享托管服务器。 settings.php db.php setAttribu
我正在尝试使用以下代码从 get 变量中获取结果,我使用了另一个代码(在下面列出)并且它有效但是在使用它时无法逃脱,我不知道我有什么做错了,但我需要帮助,我刚刚开始 PDO,所以是的,我是个白痴 :D
我有这个代码 try { $dbh = new PDO('mysql:host=localhost;dbname=db_informations', 'root', ''); $dbh
在我的本地开发机器 (MAMP) 上,我的 MySQL 查询返回正确的大小写。但是,在我的共享托管服务器上,使用 fetch(PDO::FETCH_ASSOC); 时,我的结果是小写的 我试过以下方法
我正在使用这个 PDO 连接: try{ $db=new PDO(" mysql:host=localhost; dbname=...", "dbu...", "pass", array(PDO::M
我需要将 PDO 连接从 controller 传递到 cart 类, function __construct($connection) { $this->cart = new cart($
位于 PHP.net 的 PDO 交易示例表明 PDO::exec() 是事务处理的,但是没有这样的例子使用 PDO::query()。 事务是否涵盖 PDO::query()? 此外,据我所知,PD
几天来我一直在使用来自 http://www.mamp.info 的 MAMP Pro 3.07 . 很棒的工具,一切正常。 但是现在我遇到了问题,对于一个新项目,我需要连接到 MSSQL。 我在 w
我正在尝试在我的 PHP 代码中使用 PDO 模块来连接到数据库。我已经阅读并搜索了类似的主题,但我无法弄清楚我做错了什么。请帮我解决问题。 Apache版本:Apache/2.2.21 (Win32
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我使用 PDO 连接到我的数据库,我不知道哪种方法比更新、删除和插入、PDO::exec 或 PDO::excute 的另一种方法更好。我应该使用哪个? 最佳答案 虽然这两种方法具有相似的命名(exe
如何在 Codeigniter 中设置 PDO 数据库句柄的属性(PDO::ATTR_ERRMODE)? 最佳答案 我认为更好的选择是使用 MY_Model(然后您对其进行扩展,然后它在整个应用程序中
从 mysql 切换到 PDO 我注意到 fetch 方法改变了 PDO 对象本身!例如: $res=$ps->fetchAll(); echo($res[0]['Mail']); //it'ok /
嗨,我正在使用 PDO 为 mysql 开发一个基本的数据库连接类,但是当我 var dump 返回结果时,它告诉我我有 2 个对象:object(PDO)[2]。不应该只有一个吗? 这是迄今为止我的
我是一名优秀的程序员,十分优秀!