在 PHP 中,为了高效地使用 num_rows 函数查询结果集的行数,你可以遵循以下步骤:
使用 MySQLi 或 PDO 扩展连接到数据库。这两个扩展提供了更好的性能和安全性。
编写 SQL 查询并通过 MySQLi 或 PDO 的相关方法执行查询。
使用 num_rows 属性(MySQLi)或 rowCount() 方法(PDO)获取结果集的行数。
以下是使用 MySQLi 和 PDO 的示例:
MySQLi 示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 查询
$sql = "SELECT * FROM myTable";
$result = $conn->query($sql);
// 检查结果集的行数
if ($result->num_rows > 0) {
echo "行数: " . $result->num_rows;
} else {
echo "0 结果";
}
// 关闭连接
$conn->close();
?>
PDO 示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try {
// 创建连接
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 查询
$stmt = $conn->prepare("SELECT * FROM myTable");
$stmt->execute();
// 检查结果集的行数
$row_count = $stmt->rowCount();
if ($row_count > 0) {
echo "行数: " . $row_count;
} else {
echo "0 结果";
}
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
// 关闭连接
$conn = null;
?>
这两种方法都可以高效地获取结果集的行数。在实际应用中,请根据项目需求选择合适的扩展。