PHP的PDO操作简单示例
PHP的PDO操作:深入浅出实战示例
让我们通过一个简单的类封装所有的PDO操作。这样做可以让我们在后续的代码中更方便地使用这些操作。以下是DB类的代码:
```php
class DB {
public $con = NULL;
function __construct() {
$this->con = new PDO("mysql:host=127.0.0.1;dbname=dbtest", "root", "x", [
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));
$stmt = $this->con->prepare($sql);
if ($para != NULL) {
$stmt->execute($para);
} else {
$stmt->execute();
}
if ($sqlType == "SELECT") {
return $stmt->fetchAll();
} elseif ($sqlType == "INSERT") {
return $this->con->lastInsertId();
} else {
return $stmt->rowCount();
}
}
}
```
如何使用这个DB类呢?下面是一个简单的示例:
你需要包含pdo.php文件,然后创建一个DB类的实例。通过这个实例,你可以执行各种数据库操作。例如:
```php
include "pdo.php"; //包含我们的pdo类文件
$db = new DB(); //创建一个DB类的实例
```
接下来,你可以使用`query`方法来执行SQL查询。例如:
```php
$subjectList = $db->query("SELECT FROM `table1`"); //查询table1表的所有数据
```
你也可以使用事务来执行一系列的数据库操作。例如:
```php
try {
$db->con->beginTransaction(); //开始一个新的事务
$db->con->exec("UPDATE `table1` SET `name` = 'test1' WHERE `id` = 795"); //执行一些更新操作...
// ...更多的更新操作... 提交事务
$db->con->commit();
} catch (Exception $e) {
//如果在事务过程中出现错误,回滚事务
$db->con->rollBack();
throw new MyException("事务测试错误", $e);
} finally {
$db = NULL; //结束使用后,关闭数据库连接
}
```注意,PDO支持以参数方式调用SQL语句,这可以有效地防止SQL注入攻击。这是一个重要的安全特性,应当始终在编写数据库相关的代码时考虑到。如果你对PHP的其他内容感兴趣,例如框架、设计模式等,可以参考我们站点的相关专题文章。希望这篇文章对你在PHP程序设计方面有所帮助。
编程语言
- PHP的PDO操作简单示例
- PHP中最容易忘记的一些知识点总结
- 实现PHP框架系列文章(6)mysql数据库方法
- 关于angularJs指令的Scope(作用域)介绍
- js类的继承定义与用法分析
- php教程 插件机制在PHP中实现方案
- VUE接入腾讯验证码功能(滑块验证)备忘
- vue-router history模式下的微信分享小结
- asp重定向页面的方法总结
- 详解vuex 中的 state 在组件中如何监听
- Javascript打印局部页面实例
- web打印小结
- php接口与接口引用的深入解析
- 分享十三个最佳JavaScript数据网格库
- Laravel实现定时任务的示例代码
- JS随机打乱数组的方法小结