2024-05-21

如何从零基础开始建立PHP数据库连接

建立 php 数据库连接的步骤包括:配置 php 和数据库使用 mysqli 扩展:$conn = new mysqli($servername, $username, $password, $dbname)使用 pdo:$conn = new pdo(“mysql:host=$servername;dbname=$dbname”, $username, $password)

如何从零基础开始建立PHP数据库连接

如何从零基础开始建立 PHP 数据库连接

步骤 1:配置 PHP 和数据库

  • 确保你的系统已经安装了 PHP 和 MySQL 或 MariaDB 等数据库管理系统(DBMS)。
  • 创建一个数据库并添加用户和密码。

步骤 2:使用 mysqli 扩展

PHP 提供了 mysqli 扩展来连接和操作 MySQL 数据库。使用以下代码:

$servername = "localhost";
$username = "root";
$password = "mypassword";
$dbname = "mydatabase";

try {
  // 创建一个新的 mysqli 连接对象
  $conn = new mysqli($servername, $username, $password, $dbname);

  // 检查连接是否成功
  if ($conn->connect_error) {
    throw new Exception($conn->connect_error);
  }

  // 执行查询
  $result = $conn->query("SELECT * FROM mytable");

  // 处理查询结果
  while ($row = $result->fetch_assoc()) {
    echo $row['id'] . " - " . $row['name'] . "<br>";
  }

  // 关闭连接
  $conn->close();
} catch (Exception $e) {
  echo $e->getMessage();
}  
登录后复制

步骤 3:使用 PDO

PHP 数据对象(PDO)提供了一个与数据库无关的接口。使用以下代码:

try {
  // 创建一个新的 PDO 连接对象
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

  // 设置 PDO 错误模式
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  // 执行查询
  $stmt = $conn->prepare("SELECT * FROM mytable");
  $stmt->execute();

  // 处理查询结果
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo $row['id'] . " - " . $row['name'] . "<br>";
  }

  // 关闭连接
  $conn = null;
} catch (PDOException $e) {
  echo $e->getMessage();
}  
登录后复制

实战案例:建立与 MySQL 数据库的连接

// 使用 mysqli 扩展
$conn = new mysqli("localhost", "root", "mypassword", "mydatabase");

if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

// 执行查询
$result = $conn->query("SELECT * FROM users");

// 获取查询结果
$users = $result->fetch_all(MYSQLI_ASSOC);

// 循环遍历结果
foreach ($users as $user) {
  echo $user['id'] . " - " . $user['username'] . "<br>";
}  
登录后复制

以上就是如何从零基础开始建立PHP数据库连接的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/798101.html

发表回复

Your email address will not be published. Required fields are marked *