PHP操作MySQL的常用代码段梳理与总结

yizhihongxing

PHP是一种广泛使用的服务器端编程语言,而MySQL是一种流行的关系型数据库。PHP操作MySQL是Web开发中常见的任务之一。这篇文章将梳理并总结PHP操作MySQL的常用代码片段,并提供两个示例说明。

连接MySQL

在PHP中,连接MySQL数据库是首要任务,可以使用以下代码完成:

<?php
$host = "localhost"; //主机名
$user = "username"; //用户名
$password = "password"; //密码
$dbname = "database_name"; //数据库名

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

//检查连接是否成功
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
?>

在这个示例中,需要设置主机名、用户名、密码和数据库名。然后将这些值传递给mysqli_connect()函数,以建立与MySQL的连接。如果连接失败,将会输出错误信息并终止脚本。

执行SQL语句

当与MySQL建立连接后,就可以开始执行SQL语句了。可以使用以下代码执行SQL查询:

$sql = "SELECT * FROM table_name";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    //输出数据
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
    }
} else {
    echo "0 结果";
}
mysqli_close($conn);

在这个示例中,需要将SQL查询语句写入变量$sql,并将这个变量和连接$conn传递给mysqli_query()函数以执行SQL查询。如果查询操作返回大于零的行号,则使用mysqli_fetch_assoc()函数将数据提取并进行输出。最后,mysqli_close()函数被用来关闭与MySQL的连接。

插入数据

插入数据是常见的操作,以下代码片段展示了如何使用php插入数据:

$sql = "INSERT INTO table_name (column1, column2, column3) VALUES ('$value1', '$value2', '$value3')";

if (mysqli_query($conn, $sql)) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

在这个示例中,需要设置列名和值的变量,将它们放在一个$sql变量中,然后传递它和连接$conn进行插入操作。如果插入操作成功,将会输出“新记录插入成功”语句。否则将输出错误信息并终止脚本。

示例说明

以下示例说明了如何在代码的开始处连接到MySQL数据库,如何查询数据表,并如何插入新数据。其中,数据库名为“test”,数据表名为“students”,包含三个列:“id”,“name”和“age”。

<?php
$host = "localhost"; //主机名
$user = "username"; //用户名
$password = "password"; //密码
$dbname = "test"; //数据库名

//连接到MySQL服务器
$conn = mysqli_connect($host, $user, $password, $dbname);
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

//查询students表
$sql = "SELECT id, name, age FROM students";
$result = mysqli_query($conn, $sql);

//输出查询结果
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
    }
} else {
    echo "0 结果";
}

//插入新数据
$name = "Mike";
$age = 25;
$sql = "INSERT INTO students (name, age) VALUES ('$name', '$age')";
if (mysqli_query($conn, $sql)) {
    echo "新数据添加成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

//关闭连接
mysqli_close($conn);
?>

在这个示例中,首先通过变量设置登录信息,然后连接到MySQL。接着,执行SELECT语句以查询students表,输出查询结果。最后,插入一条新数据,如果插入成功,输出“新数据添加成功”语句。最后必须关闭与MySQL的连接。

另一个示例可以是更复杂的例子,例如将查询结果存储为JSON格式,以更轻松地在Web应用程序中使用。这需要使用PHP的json_encode()函数。为了简洁起见,以下示例只输出经json_encode()函数格式化的查询结果。

<?php
$host = "localhost"; //主机名
$user = "username"; //用户名
$password = "password"; //密码
$dbname = "test"; //数据库名

//连接到MySQL服务器
$conn = mysqli_connect($host, $user, $password, $dbname);
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

//查询students表,将结果转化为json格式
$sql = "SELECT id, name, age FROM students";
$result = mysqli_query($conn, $sql);

$json_array = array();
while($row = mysqli_fetch_assoc($result)) {
    $json_array[] = $row;
}
echo json_encode($json_array);

//关闭连接
mysqli_close($conn);
?>

在这个示例中,查询了students表,并使用mysqli_fetch_assoc()循环读取每条查询结果。此数据通过将每个列名和其相关的值存储在一个PHP数组$json_array中来保存。 最后,使用json_encode()函数将整个数组转换为JSON格式,最后直接使用echo输出JSON数据。 最后,关闭与MySQL的连接。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP操作MySQL的常用代码段梳理与总结 - Python技术站

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

相关文章

  • 常用SQL语句优化技巧总结【经典】

    讲解“常用SQL语句优化技巧总结【经典】”的完整攻略如下: 1. 理解SQL执行计划 SQL执行计划是指在执行SQL语句时,数据库系统通过查询优化器,根据表结构、索引等因素建立起来的一种执行路线。理解SQL执行计划是优化SQL的第一步。 在MySQL中,你可以通过 explain select语句 查看SQL的执行计划,进而判断SQL语句是否能够通过优化来提…

    database 2023年5月19日
    00
  • Oracle删除表、字段之前判断表、字段是否存在

    要在Oracle数据库中删除表或字段之前,可以先判断它们是否存在,以避免意外损坏数据库。 以下是Oracle删除表、字段之前判断表、字段是否存在的完整攻略: 查询表是否存在 SELECT COUNT(*) AS cnt FROM user_tables WHERE table_name = ‘表名’; 如果查询结果的cnt为0,则说明该表不存在,可以执行删除…

    database 2023年5月21日
    00
  • 安装新版redis4.0.6

    看看新版本有那些特性提升,测试用!先安装 网址:https://redis.io/download 获取:wget http://download.redis.io/releases/redis-4.0.6.tar.gz 解压:tar xzvf redis-4.0.6.tar.gz 从软件目录移动目录 mv redis-4.0.6 /usr/local/ c…

    Redis 2023年4月12日
    00
  • Mysql索引分类及其使用实例详解

    MySQL索引分类及其使用实例详解 一、MySQL索引分类 MySQL索引主要分为B-tree索引和哈希索引两种,其中B-tree索引又包括主键索引、唯一索引、普通索引、全文索引、空间索引等。 1. B-tree索引 B-tree索引是MySQL中最常用的索引类型,其优点是检索速度快,缺点是对于索引列有前缀的字段,需要存储较多的内容。 B-tree索引又包括…

    database 2023年5月22日
    00
  • Redis高可用二( 哨兵sentinel)

    1、主从配置 2、配置哨兵 sentinel.conf # Example sentinel.conf bind 0.0.0.0 protected-mode no # 关闭安全模式 port 26380 # 哨兵端口 sentinel monitor mymaster 127.0.0.1 6380 # mymaster默认 127.0.0.1:主redis…

    Redis 2023年4月12日
    00
  • 架构与思维论设计容量的重要性

    架构与思维论设计容量的重要性 什么是架构? 在软件开发领域,架构是指整个系统的结构设计,包括各个模块之间的关系、模块的职责、数据的流向以及各个模块的接口设计等。在实际开发过程中,好的架构设计可以提高系统的可维护性、可扩展性、可测试性以及安全性等方面的特性,同时也能够降低软件开发成本和维护成本。 为什么要考虑容量? 在实际开发中,有时候我们需要考虑容量问题,也…

    database 2023年5月19日
    00
  • Go http client 连接池不复用的问题

    Go HTTP client 连接池不复用的问题可能会导致应用程序性能下降,因此需要进行及时的优化和解决。下面将介绍一些应对该问题的具体步骤。 1. 使用全局变量保存HttpClient对象 在已知 HttpClient 对象的场景下,建议将其存储在全局变量中,并在需要使用时从该变量中获取。这样可以确保多次使用同一个 HTTP 域名时复用连接池。以下是示例代…

    database 2023年5月22日
    00
  • 浅谈MySQL大表优化方案

    浅谈MySQL大表优化方案 在使用MySQL时,随着数据量的逐渐增大,我们可能会面临MySQL大表的优化问题。本文将介绍几种常见的MySQL大表优化方案,以及相应的示例说明。 优化方案一:水平分表 水平分表是将一张大表拆分成多张小表,各个小表之间的结构完全相同,但是它们分别存储不同的数据。通过水平分表,可以将表的行数分散到多个物理表中,从而减少单张表的数据量…

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