首頁 >後端開發 >php教程 >如何使用 PDO 檢查資料庫中行是否存在?

如何使用 PDO 檢查資料庫中行是否存在?

Susan Sarandon
Susan Sarandon原創
2024-10-22 10:32:021005瀏覽

How Can You Check the Existence of a Row in a Database Using PDO?

如何使用PDO 檢查資料庫中的行是否存在

當嘗試執行以資料庫中不存在特定行為條件的操作時資料庫中,使用count($row) == 0 或if($stmt->rowCount()

更有效的方法是直接檢查查詢的回傳值。以下程式碼片段說明了此技術:

<code class="php">$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);

if( ! $row)
{
    echo 'nothing found';
}</code>

如果該行存在於資料庫中,此方法將傳回 true,如果不存在,則傳回 false。

用於檢查多行是否存在,您可以使用fetchAll() 方法:

<code class="php">$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // Same here
if( ! $rows)
{
    echo 'nothing found';
}</code>

在您希望避免取得資料的情況下,您可以使用下列查詢將MySQL 設定為傳回布林值:

<code class="php">$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);

if($stmt->fetchColumn()) echo 'found';</code>

如果該行存在於資料庫中,此方法將傳回非零值,否則傳回false。

以上是如何使用 PDO 檢查資料庫中行是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn