Heim >Backend-Entwicklung >PHP-Tutorial >Wie können Sie mithilfe von PDO die Existenz einer Zeile in einer Datenbank überprüfen?

Wie können Sie mithilfe von PDO die Existenz einer Zeile in einer Datenbank überprüfen?

Susan Sarandon
Susan SarandonOriginal
2024-10-22 10:32:021005Durchsuche

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

So überprüfen Sie das Vorhandensein von Zeilen in einer Datenbank mithilfe von PDO

Beim Versuch, eine Aktion auszuführen, die vom Fehlen einer bestimmten Zeile in einer Datenbank abhängig ist Datenbank können bei der Verwendung herkömmlicher Methoden wie count($row) == 0 oder if($stmt->rowCount() < 0) Schwierigkeiten auftreten.

Ein effektiverer Ansatz besteht darin, die direkt zu untersuchen Rückgabewert der Abfrage. Der folgende Codeausschnitt veranschaulicht diese Technik:

<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';
}</p>
<p>Diese Methode gibt true zurück, wenn die Zeile in der Datenbank vorhanden ist, und false, wenn dies nicht der Fall ist.</p>
<p>Zur Überprüfung der Existenz mehrerer Zeilen , können Sie die Methode fetchAll() verwenden:</p>
<pre class="brush:php;toolbar:false"><code class="php">$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // Same here
if( ! $rows)
{
    echo 'nothing found';
}</code>

In Situationen, in denen Sie das Abrufen von Daten vermeiden möchten, können Sie MySQL mithilfe der folgenden Abfrage so konfigurieren, dass ein boolescher Wert zurückgegeben wird:

<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>

Diese Methode gibt einen Wert ungleich Null zurück, wenn die Zeile in der Datenbank vorhanden ist, andernfalls false.

Das obige ist der detaillierte Inhalt vonWie können Sie mithilfe von PDO die Existenz einer Zeile in einer Datenbank überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn