使用 PDO 檢查行是否存在
使用資料庫時,通常需要根據行是否存在來執行不同的操作。本文探討如何使用 PHP 中流行的 PDO 函式庫有效率地檢查行是否存在。
PDO 和 Row Existence
PDO 提供了靈活高效的介面用於與各種資料庫互動。它的強大功能之一是prepare()方法,它允許您建立和執行準備好的語句。
使用rowCount()和fetch()進行檢查
您的使用count($row) == 0 和$stmt->rowCount()
解決方案:直接傳回值檢查
要檢查行是否存在,您只需檢查執行()的回傳值。如果語句執行成功且沒有傳回任何行,execute() 將會傳回 false。然後您可以執行必要的操作:
$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
if( ! $stmt->execute() ) {
echo 'Row not found';
}
不取得而檢查
如果你想在不實際取得行資料的情況下檢查行是否存在,你可以使用MySQL 的功能來以a 的形式傳回一個值數數。這允許您在execute()中綁定變數並檢查其值:
$sql = 'SELECT 1 FROM table WHERE ID = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);
if($stmt->fetchColumn()) {
echo 'Row found';
}
這種方法更有效,因為它避免了不必要的行資料獲取。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3