PHP中的mysqli
扩展用于与MySQL数据库进行交互。当你执行一个SELECT查询时,结果会被返回为一个结果集对象。你可以使用mysqli_result
类的方法来遍历这个结果集。
fetch_assoc()
fetch_assoc()
方法用于从结果集中取得一行作为关联数组,或NULL(如果没有更多行)。
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
die("连接失败: " . $mysqli->connect_error);
}
$sql = "SELECT id, name FROM users";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
$mysqli->close();
fetch_array()
fetch_array()
方法返回结果集中的一行作为关联数组,数字数组,或两者兼有。
while($row = $result->fetch_array()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
mysqli
提供了较好的性能。原因:可能是数据库服务器未启动、用户名或密码错误、数据库名称错误等。
解决方法:
if ($mysqli->connect_error) {
die("连接失败: " . $mysqli->connect_error);
}
原因:可能是SQL语句错误、数据库中没有相应的数据等。
解决方法:
if (!$result) {
die("查询失败: " . $mysqli->error);
}
原因:可能是查询条件不正确,或者数据库中确实没有数据。
解决方法:
if ($result->num_rows > 0) {
// 遍历结果集
} else {
echo "0 结果";
}
通过以上方法,你可以有效地遍历mysqli
结果集,并处理可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云