PHP连接MySQL数据库三种实现方法

yizhihongxing

下面是我为你提供的“PHP连接MySQL数据库三种实现方法”的完整攻略。

PHP连接MySQL数据库三种实现方法

在使用PHP解决一些较为复杂的业务逻辑时,我们通常会用到数据库来存储数据。而连接数据库也成了PHP必须要掌握的技能。今天我们来讲一讲PHP连接MySQL数据库的三种实现方法。

1. 使用mysqli扩展

mysqli是PHP对MySQL官方提供的API做的一个封装,相对于原生的mysql扩展来说,使用起来更加简单和安全。下面是连接MySQL数据库的基本步骤:

1.1 连接MySQL数据库

<?php
$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = ''; // 数据库密码
$dbname = 'testdb'; // 数据库名
$port = 3306; // 数据库端口号,可选

// 创建连接
$conn = new mysqli($host, $user, $password, $dbname, $port);

// 检查连接是否有效
if ($conn->connect_error) {
  die('连接失败:' . $conn->connect_error);
}

echo '连接成功';
?>

1.2 执行SQL语句

<?php
// SQL语句
$sql = "SELECT * FROM users";

// 执行查询
$result = $conn->query($sql);

// 处理查询结果
if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "name: " . $row["name"] . " - email: " . $row["email"] . "<br>";
  }
} else {
  echo "0 结果";
}

// 释放查询结果内存
$result->free_result();
?>

1.3 关闭连接

<?php
// 关闭连接
$conn->close();
echo '连接已关闭';
?>

2. 使用PDO扩展

PDO是PHP对所有数据库进行的一个抽象,使用起来比mysqli扩展更加灵活。下面是连接MySQL数据库的基本步骤:

2.1 连接MySQL数据库

<?php
$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = ''; // 数据库密码
$dbname = 'testdb'; // 数据库名

// 数据库连接
try {
  $dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
  $pdo = new PDO($dsn, $user, $password);
  // 开启PDO的异常处理模式
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "连接成功";
} catch (PDOException $e) {
  echo "连接失败:" . $e->getMessage();
}
?>

2.2 执行SQL语句

<?php
// SQL语句
$sql = "SELECT * FROM users";

// 执行查询
$stmt = $pdo->query($sql);

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

// 释放查询结果内存
$stmt->closeCursor();
?>

2.3 关闭连接

<?php
// 关闭连接
$pdo = null;
echo '连接已关闭';
?>

3. 使用PDO扩展和预处理语句

预处理语句是一种可以防止SQL注入攻击的方式。下面是连接MySQL数据库并使用预处理语句的基本步骤:

3.1 连接MySQL数据库

<?php
$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = ''; // 数据库密码
$dbname = 'testdb'; // 数据库名

// 数据库连接
try {
  $dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
  $pdo = new PDO($dsn, $user, $password);
  // 开启PDO的异常处理模式
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "连接成功";
} catch (PDOException $e) {
  echo "连接失败:" . $e->getMessage();
}
?>

3.2 执行预处理语句

<?php
// SQL语句
$sql = "SELECT * FROM users WHERE id = :id";

// 预处理语句
$stmt = $pdo->prepare($sql);

// 绑定参数
$id = 1;
$stmt->bindParam(':id', $id);

// 执行查询
$stmt->execute();

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

// 释放查询结果内存
$stmt->closeCursor();
?>

3.3 关闭连接

<?php
// 关闭连接
$pdo = null;
echo '连接已关闭';
?>

以上就是连接MySQL数据库的三种实现方法。其中,mysqli扩展和PDO扩展都是PHP常用的操作MySQL数据库的方式,而PDO扩展相较于mysqli扩展使用更加灵活,且由于其有预处理语句的支持,也更加安全。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP连接MySQL数据库三种实现方法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 如何在Linux中修改tomcat端口号

    在Linux中修改tomcat的端口号有以下步骤: 登录到Linux服务器首先需要登录到Linux服务器,可以使用SSH等方式进行登录。 停止Tomcat服务修改Tomcat配置文件需要先关闭Tomcat服务,可以使用以下命令停止Tomcat: sudo systemctl stop tomcat 打开server.xml文件 Tomcat的端口号配置保存在…

    database 2023年5月22日
    00
  • Spring Boot中实现定时任务应用实践

    以下是关于“Spring Boot中实现定时任务应用实践”的完整攻略。 1. 添加依赖 首先,在pom.xml文件中添加spring-boot-starter-quartz依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&…

    database 2023年5月22日
    00
  • Linux下重启多个 tomcat 服务的脚本(推荐)

    来讲解一下“Linux下重启多个tomcat服务的脚本(推荐)”的完整攻略。 1. 编写脚本 首先,我们需要编写一个bash脚本,用于重启多个tomcat服务。以下是示例脚本: #!/bin/bash # The list of all tomcat instances that need to be restarted TOMCAT_INSTANCES=&…

    database 2023年5月22日
    00
  • mysql记录耗时的sql实例详解

    MySQL记录耗时的SQL实例详解攻略 简介 在 MySQL 中,我们可以通过记录执行时间来统计 SQL 查询的耗时情况,进而找出效率低下的 SQL 查询语句进行性能优化。本文将详细讲解如何在 MySQL 中记录 SQL 查询的耗时时间,并通过示例说明如何进行分析和优化。 记录 SQL 查询的耗时时间 要记录 SQL 查询的耗时时间,可以使用 MySQL 自…

    database 2023年5月22日
    00
  • mysql中模糊查询的四种用法介绍

    以下是关于”mysql中模糊查询的四种用法介绍”的完整攻略: 1. LIKE运算符 1.1 基本用法 LIKE运算符用于在WHERE子句中比较列和带通配符的表达式。 基本语法格式: SELECT * FROM table WHERE column LIKE pattern; 其中,column表示需要进行比较的列,pattern表示带通配符的表达式。比如在以…

    database 2023年5月22日
    00
  • win 7 安装redis服务【笔记】

    Win 7 安装 Redis 服务 Redis 是一个高性能的非关系型数据库,通常用于缓存和消息队列等应用场景。本篇笔记将介绍在 Win 7 系统下安装 Redis 服务的步骤。 安装步骤 1. 下载 Redis 官网地址:https://redis.io/download 选择最新版本下载,目前是 redis-6.0.9.tar.gz。 2. 解压 Red…

    database 2023年5月22日
    00
  • SQL语言查询基础:连接查询 联合查询 代码

    SQL语言查询基础 SQL是结构化查询语言(Structured Query Language)的简称,是一种专门用来操作关系型数据库的标准操作语言,常用于对数据库进行查询、更新以及管理等操作。 本篇攻略将围绕SQL语言的查询进行讲解,涉及连接查询、联合查询等查询操作。 连接查询 连接查询是指在查询两个或多个表时,通过各种连接方式,将它们中的相关数据进行组合…

    database 2023年5月21日
    00
  • 手把手教你在腾讯云上搭建hive3.1.2的方法

    手把手教你在腾讯云上搭建hive3.1.2的方法 前言 Apache Hive是基于Hadoop的一个数据仓库工具,能够将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以大大简化数据查询/分析的流程。随着Big Data时代的到来,越来越多的企业开始使用Hive来扩展和加速数据查询和分析的工作。本文将介绍手把手在腾讯云上搭建Hive3.1…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部