在 PHP 中连接到 MySQL 数据库

在 php 中连接到 mysql 数据库

PHP 通常与 MySQL 搭配使用,MySQL 是使用最广泛的开源关系数据库管理系统之一,可以在小型和大型项目中快速高效地处理数据。

无论您是创建简单的网站还是高级 Web 应用程序,您都需要知道如何将 PHP 连接到 MySQL 数据库

MySQL PHP 集成概述

MySQL 因开源关系数据库管理系统或 RDBMS 而闻名,因其性能、可靠性和易用性而受到广泛赞赏。

它非常适合各种应用程序,从小型网站到大型复杂的企业系统。其灵活性和效率使 MySQL 成为寻求坚实数据库基础的开发人员的首选。

PHP 是一种服务器端脚本语言,可与 MySQL 无缝协作来构建交互式、数据驱动的网页。它们共同提供了强大的后端解决方案,使其成为网站和 Web 应用程序的完美选择。

设置 MySQL 数据库

要设置 MySQL 数据库,请首先使用 MySQL 命令行界面 (CLI) 或 phpMyAdmin 等 Web 工具创建它。使用 CLI,利用 CREATE DATABASE 命令启动新数据库。

使用这个简单的命令将创建一个空数据库,为您的应用程序的数据做好准备。如果您更喜欢图形界面,phpMyAdmin 提供了一种简单的方法,只需单击几下即可完成相同的任务。

创建数据库后,出于安全目的,您需要设置具有适当权限的用户。您可以使用 CREATE USER 命令添加新用户,并使用 GRANT 命令为其分配特定权限。

选择 PHP MySQL 扩展:MySQLi 与 PDO

MySQL 选择 PHP 扩展时,您有两个主要选项:MySQLi 和 PDO。每个都提供独特的功能和优点,因此决定将取决于您的具体需求和未来潜在的要求。

MySQLi 扩展
MySQLi 代表 MySQL 改进版,提供了一种使用 MySQL 数据库的升级方法,与旧方法相比,提供了更好的功能。

您可以使用 MySQLi 在面向对象和过程 API 之间进行选择,这使得它非常灵活,具体取决于您的编码风格。然而,MySQLi 仅适用于 MySQL 数据库,如果您计划扩展到其他数据库,则限制了它的使用。

PDO(PHP 数据对象)
PDO 是一个更通用的选项,因为它支持 12 种不同的数据库系统,而不仅仅是 MySQL。如果您预计将来会切换数据库,这将使其成为更有价值的选择。

PDO 使用完全面向对象的方法,并提供预准备语句等高级功能,增强跨不同数据库环境的安全性和可移植性。

建立连接

MySQL 数据库建立可靠的连接是构建动态 PHP 应用程序的第一步。

使用 MySQLi 连接到 MySQL
要使用 MySQLi 连接到 MySQL 数据库,您可以选择面向对象或过程方法。在面向对象的方法中,只需使用您的服务器名称、用户名和密码创建 mysqli 类的新实例即可。

使用过程方法,调用‘mysqli_connect()’函数建立连接。连接后,检查连接状态很重要。您可以使用面向对象版本中的“$conn->connect_error”或程序上的“mysqli_connect_error()”来完成此操作。

使用 PDO 连接到 MySQL
使用 PDO 连接时,创建 PDO 类的新实例,直接在连接字符串中指定服务器和数据库详细信息。要有效地处理异常,请使用“PDO::ATTR_ERRMODE”属性将错误模式设置为“PDO::ERRMODE_EXCEPTION”。

现在,如果发生错误,将会抛出异常,让您可以更精确地管理它。另外,请记住,PDO 要求您在连接设置期间指定有效的数据库;否则会抛出异常,连接失败。

执行基本数据库操作

为了有效管理 MySQL 数据库中的数据,您需要了解如何执行基本 SQL 操作以及这些操作如何发挥作用。

执行查询
要与 MySQL 数据库交互,您需要执行基本的 SQL 查询,例如 SELECT、INSERT、UPDATE 和 DELETE

使用 MySQLi,您可以使用“$conn->query($sql)”(面向对象方法)或“mysqli_query($conn, $sql)”(程序方法)来运行这些查询。

对于 PDO,使用“$conn->exec($sql)”进行修改数据库的查询,或使用“$conn->query($sql)”进行检索。每种方法都提供了一种简单的方法来执行命令,帮助您高效管理数据库。

准备好的声明
准备好的语句有助于保护您的应用程序免受 SQL 注入的侵害。使用 MySQLi,您可以使用 '$conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)")' 准备一条语句,然后使用 '$stmt->bind_param("ss", $name ,$电子邮件)'。

对于 PDO,使用 '$conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)")' 并使用 '$stmt->execute(['name' => $name , 'email' => $email])'.

错误处理和调试

无论您使用的是 MySQLi 还是 PDO,有效处理和调试错误对于维持与 MySQL 数据库的稳定连接以及识别 SQL 查询问题都至关重要。

  • MySQLi:要处理使用 MySQLi 时的错误,您可以使用“$conn->error”作为面向对象的方法,或使用“mysqli_error($conn)”作为过程方法。这些功能可以帮助您捕获和显示数据库错误,从而更轻松地调试与连接或 SQL 查询相关的问题,以便您可以有效地识别和解决问题。
  • PDO:PDO 使用自己的异常类 PDOException 来有效地管理错误。您可以利用“try...catch”块来检测异常并做出相应的响应。当发生错误时,“catch(PDOException $e)”允许您输出特定的错误消息,从而对如何处理错误提供更精细的控制,这使得调试和维护代码变得更加容易。

关闭数据库连接

对于MySQLi,您可以使用面向对象风格的“$conn->close()”显式关闭数据库连接,对于过程方法使用“mysqli_close($conn)”,或者对于PDO设置“$conn = null” 。虽然 PHP 会在脚本结束时自动关闭连接,但手动关闭它是释放服务器资源并增强性能的好习惯。

不再需要时始终关闭数据库连接。利用准备好的语句来防御 SQL 注入并增强应用程序的安全性。

以上就是在 PHP 中连接到 MySQL 数据库的详细内容,更多请关注其它相关文章!