在 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;
?>
這兩種方法都可以高效地獲取結果集的行數。在實際應用中,請根據項目需求選擇合適的擴展。