PHP的PDO操作简单示例

网络编程 2025-03-25 06:26www.168986.cn编程入门

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中最容易忘记的一些知识点总结 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by