进入贴吧 按标题检索 按内容检索 按作者检索 网页搜索 音乐检索
贴吧列表 | 推荐贴吧 | 精华主题 | 最热主题 | 申请吧主 | 我要举报 | 用户登录 | 用户注册 | 忘记密码? RSS feed
首 页 > php吧 > PDO的基本使用方法 人气指数:[ 727 ] 
本主题共有帖子数 0 篇,   [<<] [1] [>>]
1 PDO的基本使用方法
PHP PDO(PHP Data Objects)是一个数据库访问层,提供了一个数据访问抽象层,允许你使用各种数据库,而无需编写特定于数据库的代码。以下是PDO的详细用法概述:

1. 连接到数据库
首先,你需要使用PDO的构造函数来创建一个数据库连接。

php
<?php 
try { 
  $pdo = new PDO(mysql:host=localhost;dbname=testdb, username, password); 
  // 设置 PDO 错误模式为异常 
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
  echo "Connected successfully"; 
} catch(PDOException $e) { 
  echo "Connection failed: " . $e->getMessage(); 

?>
2. 准备和执行SQL语句
使用prepare()方法准备SQL语句,并使用execute()方法执行它。对于带有参数的SQL语句,你可以使用占位符(通常是:name)并在执行时使用bindParam()或bindvalue()方法绑定值。

php
<?php 
// ... 假设你已经有了$pdo连接 ... 
 
try { 
  $stmt = $pdo->prepare("INSERT INTO users (name, email) valueS (:name, :email)"); 
  $stmt->bindParam(:name, $name); 
  $stmt->bindParam(:email, $email); 
 
  // 插入一行 
  $name = "John Doe"; 
  $email = "john@example.com"; 
  $stmt->execute(); 
 
  // 插入另一行 
  $name = "Jane Doe"; 
  $email = "jane@example.com"; 
  $stmt->execute(); 
 
  echo "New records created successfully"; 
} catch(PDOException $e) { 
  echo "Error: " . $e->getMessage(); 

?>
3. 获取查询结果
对于SELECT查询,你可以使用fetchAll()或fetch()方法来获取结果。

php
<?php 
// ... 假设你已经有了$pdo连接 ... 
 
try { 
  $stmt = $pdo->query("SELECT * FROM users"); 
  while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
    echo "Name: " . $row[name]. "<br>"; 
    echo "Email: " . $row[mail]. "<br><br>"; 
  } 
} catch(PDOException $e) { 
  echo "Error: " . $e->getMessage(); 

?>
4. 处理事务
PDO也支持事务处理。你可以使用beginTransaction()开始一个事务,使用commit()提交事务,或使用rollBack()回滚事务。

php
<?php 
// ... 假设你已经有了$pdo连接 ... 
 
try { 
  $pdo->beginTransaction(); 
 
  // 第一个SQL语句 
  $stmt = $pdo->prepare("INSERT INTO users (name, email) valueS (:name, :email)"); 
  $stmt->bindParam(:name, $name); 
  $stmt->bindParam(:email, $email); 
 
  $name = "John Doe"; 
  $email = "john@example.com"; 
  $stmt->execute(); 
 
  // 假设这里有一个错误导致你不想继续 
  // throw new PDOException(An error occurred); 
 
  // 第二个SQL语句 
  // ... 
 
  // 如果没有错误,提交事务 
  $pdo->commit(); 
  echo "New records created successfully"; 
} catch(PDOException $e) { 
  // 如果发生错误,回滚事务 
  $pdo->rollBack(); 
  echo "Error: " . $e->getMessage(); 

?>
5. 关闭连接
虽然PHP在脚本结束时会自动关闭数据库连接,但你也可以显式地关闭它,使用null来销毁PDO对象。

php
$pdo = null; // 关闭连接
注意:在实际应用中,请确保不要硬编码数据库凭据(如用户名和密码)。相反,使用环境变量、配置文件或其他安全方法来存储这些信息。
作者:221.203.108.*      2024/6/21 14:21:57     打印   回复

本主题共有帖子数 0 篇,   [<<] [1] [>>]
标  题: *
UBB:
UBB: 粗体 斜体 下划线 左对齐 居中 右对齐 插入外部网址 插入邮箱地址 插入外部图片 插入代码 引用内容 +增加编辑行 -减少编辑行 →加大编辑框宽度 ←缩小编辑框宽度
内  容: *
* 注:系统要求你是会员身份才能使用上传功能!
图  片: 教您外部贴图
验证码: * 看不清?点击更换验证码!
216.73.216.202  登录 | 注册 | 忘记密码
 
Powered by tb.wanliancm.com   PostBar v3.5 ACCESS
eXECUTION: 0.09375 second(s). Google SiteMap