编辑
2026-04-01
undefined
00

目录

面向过程
面向对象
字符串转义处理
预处理
PDO
预处理

连接数据库方式:

  • mysql扩展,这种方式PHP 7已经淘汰
  • mysqli扩展
  • PDO扩展

面向过程

getMessage()); } mysqli_close($conn); ## 面向对象 getMessage()); } $conn->close(); ### 字符串转义处理 确保特殊字符被正确转义,从而避免SQL注入等安全问题,并保证查询语句的语法正确性:`$conn->real_escape_string($string);` ### 预处理 $sql = "select * from test where username=? and password=?"; $stmt = $conn->prepare($sql); // 绑定 $stmt->bind_param('ss', $username, $password); // 执行 $stmt->execute(); // 获取结果 $result = $stmt->get_result(); print_r($result->fetch_all()); // 关闭 $stmt->close();PHP 8新方法: $sql = "insert into user (username, password) values (?, ?)"; $conn->execute_query($sql, ['user1', '123456']); $conn->execute_query($sql, ['user2', '123456']); //可重复执行多次 ## PDO PDO(PHP Data Object)为PHP访问各种数据库提供了一个轻量级,一致性的接口。无论访问什么数据库,都可以通过一致性的接口去操作。 需要安装php_pdo_mysql扩展,可用函数来查看是否安装了PDO扩展。 PDO执行SQL语句分2种:exec()和query()。exec()适用于执行不返回结果集的SQL语句,query()适用于执行返回结果集的SQL语句。 setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo '数据库连接成功'; } catch (PDOException $e) { die('错误!:' . $e->getMessage()); } $conn = null; //关闭连接 ### 预处理 try { // 开始事务 $conn->beginTransaction(); $sql = "insert into user (username, password) values (?,?);"; $stmt = $conn->prepare($sql); $data = array( array('值1', '值2'), array('值11', '值22'), ); $insertedRows = 0; foreach ($data as $row) { $stmt->execute($row); $insertedRows += $stmt->rowCount(); } // 提交事务 $conn->commit(); echo '批量插入成功'; } catch (PDOException $e) { $conn->rollBack(); die('错误!:' . $e->getMessage()); }

本文作者:a

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!