使用PHP连接MySQL
1,MySQL和PHP
MySQL 是一种流行的关系数据库管理系统,广泛用于支持 Web 应用程序中的数据存储。 PHP是一种广泛使用的服务器端编程语言,可以与MySQL数据库通信。
连接MySQL数据库,需要使用PHP的MySQL扩展。这个扩展允许我们使用PHP代码来连接、查询和更新MySQL数据库。在下面的代码示例中,我们展示了如何使用 PHP 代码连接到 MySQL 数据库。
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
在上面的代码示例中,我们首先定义了MySQL服务器的名称、用户名和密码。接下来我们指定要连接的数据库名称。然后我们使用 mysqli_connect() 函数连接到 MySQL 数据库。如果成功,则返回连接对象,否则返回 false。由于连接数据库时可能会出现错误,因此我们在if语句中使用了Fuzzy()函数来输出连接错误信息并立即停止脚本执行。最后,我们用echo的声明来传递成功的信息。
2。执行SQL语句
连接到MySQL数据库后,我们就可以执行SQL语句了。 SQL 语句用于查询、插入、更新或删除数据库中的数据。 PHP 提供了两种执行 SQL 语句的方法:mysqli_query() 和 mysqli_prepare()。
mysqli_query()函数允许我们直接在PHP代码中执行SQL语句。在下面的代码示例中,我们展示了如何使用 mysqli_query() 函数查询 MySQL 数据库中的数据。
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
在上面的代码示例中,我们首先定义了一条 SQL 语句来从表中选择 id、名字和姓氏列。然后我们使用 mysqli_query() 函数执行 SQL 语句并将结果存储在 $result 变量中。然后,我们使用 mysqli_num_rows() 函数检查结果集中是否存在任何数据行。如果存在,我们使用 mysqli_fetch_assoc() 函数从结果集中检索每一行,然后输出每一行的 id、名字和姓氏值。如果没有找到数据行,我们将打印“0 结果”消息。
3。防止SQL注入攻击
SQL注入攻击是网络中常见的安全漏洞,攻击者可以通过在输入字段中插入特定字符来执行恶意SQL语句。为了防止SQL注入攻击,我们需要使用参数化查询和准备语句。 PHP中的mysqli_prepare()函数允许我们在执行SQL语句之前显式绑定参数和值。在下面的代码示例中,我们展示了如何使用 mysqli_prepare() 函数运行 MySQL 数据库查询以防止 SQL 注入攻击。
$stmt = mysqli_prepare($conn, "SELECT * FROM MyGuests WHERE lastname=?");
mysqli_stmt_bind_param($stmt, "s", $lastname);
$lastname = "Doe";
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
在上面的代码示例中,我们首先使用mysqli_prepare()函数准备SQL查询语句。然后我们使用mysqli_stmt_bind_param()函数来绑定要查询的参数和值。在此示例中,我们将查询指定的姓氏值。然后我们将 $lastname 变量的值设置为“Do”并使用 mysqli_stmt_execute() 函数执行准备好的语句。最后,我们使用 mysqli_stmt_get_result() 函数从语句对象中检索结果集,并使用 mysqli_fetch_assoc() 函数从结果集中检索每行的数据。
结论
通过本文,您学习了如何使用PHP连接MySQL数据库,以及如何使用PHP代码查询和更新MySQL数据库中的数据。您还学习了如何使用准备好的语句和参数化查询来防止 SQL 注入攻击。
现在您可以使用这些技术来创建自己的PHP和MySQL应用程序,以支持各种Web应用程序的数据存储需求。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网