「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PDO を使用して行の存在を確認するにはどうすればよいですか?

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

2024 年 11 月 1 日に公開
ブラウズ:547

How to Check for Row Existence Using PDO?

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

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

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

$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';
}

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

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

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!$rows) {
    echo 'No rows found';
}

あるいは、行が見つかったときに 1 を返すように MySQL に指示することもできます。

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

if ($stmt->fetchColumn()) echo 'Row found';

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

リリースステートメント この記事は次の場所に転載されています: 1729560796 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3