欢迎访问宙启技术站
智能推送

如何使用PHP中的mysqli连接数据库

发布时间:2023-06-02 16:46:38

在PHP中连接MySQL数据库,可以使用两种方式:MySQLi和PDO。本文着重介绍MySQLi的使用方法。

步骤1:连接数据库

首先,需要创建一个MySQLi连接。可以使用mysqli_connect()函数,该函数需要4个参数:主机名、用户名、密码和数据库名。

示例代码:

$conn = mysqli_connect("localhost", "root", "password", "test");
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";

其中,“localhost”是主机名,可以替换为其他IP地址或域名。如果连接成功,则输出“Connected successfully”;如果连接失败,则输出错误信息并终止脚本。

步骤2:执行SQL语句

连接成功后,就可以执行SQL语句了。可以使用mysqli_query()函数执行SQL查询语句。

示例代码:

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

以上代码查询了“users”表中的所有数据,并将结果存储在$result变量中。

步骤3:处理查询结果

查询结果有多种处理方式。以下是一些常用的方式:

一、使用mysqli_fetch_array()函数

可以使用mysqli_fetch_array()函数获取查询结果的每一行数据,并将其作为数组返回。

示例代码:

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    echo "Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>";
}

以上代码循环遍历查询结果的每一行数据,并输出其“name”和“email”字段。

二、使用mysqli_fetch_object()函数

可以使用mysqli_fetch_object()函数获取查询结果的每一行数据,并将其作为对象返回。

示例代码:

while ($row = mysqli_fetch_object($result)) {
    echo "Name: " . $row->name . " - Email: " . $row->email . "<br>";
}

以上代码循环遍历查询结果的每一行数据,并输出其“name”和“email”字段。

三、使用mysqli_num_rows()函数

可以使用mysqli_num_rows()函数获取查询结果的行数。

示例代码:

$count = mysqli_num_rows($result);
echo "Total rows: " . $count;

以上代码输出查询结果的行数。

步骤4:关闭连接

查询完成后,需要关闭连接。可以使用mysqli_close()函数。

示例代码:

mysqli_close($conn);

以上代码关闭连接。

完整示例代码:

在本例中,将通过一个表单将数据插入数据库,然后查询并显示数据库中的数据。

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "root", "password", "test");
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// 处理表单数据
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST["name"];
    $email = $_POST["email"];

    // 将数据插入数据库
    $sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
    if (mysqli_query($conn, $sql)) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
}

// 查询数据库并输出数据
$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);

echo "<table>";
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    echo "<tr>";
    echo "<td>" . $row["name"] . "</td>";
    echo "<td>" . $row["email"] . "</td>";
    echo "</tr>";
}
echo "</table>";

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

<form method="post">
Name: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
<input type="submit" value="Submit">
</form>

以上代码显示一个表单,用户可以输入姓名和电子邮件,然后将数据插入数据库。然后,从数据库中查询数据,并输出其“name”和“email”字段。最后,关闭连接。