Heim >Backend-Entwicklung >PHP-Tutorial >Wie können Sie mithilfe von PDO die Existenz einer Zeile in einer Datenbank überprüfen?
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!