ホームページ > バックエンド開発 > PHPチュートリアル > PDO を使用して行の存在を確認するにはどうすればよいですか?

PDO を使用して行の存在を確認するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-22 10:22:30
オリジナル
257 人が閲覧しました

How to Check for Row Existence Using PDO?

PDO を使用した行の存在の確認

PDO を使用してデータベース内の行の存在を確認することが困難になりました。この問題に対処するには、次の解決策を検討してください。

回答で提案されているように、クエリの戻り値を直接確認できます。以下に例を示します。

<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 'Row does not exist';
}</code>
ログイン後にコピー

このコードでは、$stmt->execute() がクエリの実行を試みます。行が見つからない場合、$stmt->fetch() は FALSE を返します。これにより、if (!$row) 条件を使用して、行が存在するかどうかを判断できます。

さらに、複数の行をチェックする場合、または行のフェッチを回避したい場合は、$stmt-> を使用できます。 ;fetchAll() メソッド:

<code class="php">$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!$rows) {
    echo 'No rows found';
}</code>
ログイン後にコピー

または、行が見つかったときに 1 を返すように 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 'Row found';</code>
ログイン後にコピー

このアプローチでは、行をフェッチする必要がなくなります。効率の向上。

以上がPDO を使用して行の存在を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート