如何使用PHP中的mysqli连接数据库
在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”字段。最后,关闭连接。
