Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann man effizient prüfen, ob eine Zeile in MySQL vorhanden ist?

Wie kann man effizient prüfen, ob eine Zeile in MySQL vorhanden ist?

Susan Sarandon
Freigeben: 2024-12-27 17:52:14
Original
603 Leute haben es durchsucht

How to Efficiently Check for the Existence of a Row in MySQL?

Überprüfen des Vorhandenseins einer Zeile in MySQL

In Fällen, in denen Sie das Vorhandensein einer Zeile in einer MySQL-Datenbank feststellen müssen, finden Sie hier stehen verschiedene Ansätze zur Verfügung. Insbesondere möchten Sie möglicherweise überprüfen, ob eine E-Mail-Adresse in der Datenbank vorhanden ist.

Verwendung vorbereiteter Anweisungen

Um die Sicherheit zu erhöhen und SQL-Injection zu verhindern, werden vorbereitete Anweisungen empfohlen Ansatz:

MySQLi (Legacy)

$query = "SELECT 1 FROM `tblUser` WHERE email=?";
$stmt = $dbl->prepare($query);
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$emailExists = (bool)$row;
Nach dem Login kopieren

MySQLi (Modern - PHP 8.2)

$query = "SELECT 1 FROM `tblUser` WHERE email=?";
$result = $dbl->execute_query($query, [$email]);
$row = $result->fetch_assoc();
$emailExists = (bool)$row;
Nach dem Login kopieren

PDO

$stmt = $conn->prepare('SELECT 1 FROM `tblUser` WHERE email = :email');
$stmt->execute([":email" => $_POST['email']]);
$row = $result->fetch();
$emailExists = (bool)$row;
Nach dem Login kopieren

Allgemeines Überlegungen

  • Zur Abwehr von SQL-Injection-Angriffen werden vorbereitete Anweisungen dringend empfohlen.
  • Wenn Sie mit POST-Arrays arbeiten, überprüfen Sie deren Vorhandensein, stellen Sie eine POST-Methode sicher und richten Sie die Eingabe aus Namen mit POST-Array-Schlüsseln.
  • Die mysql_*-API ist veraltet; Erwägen Sie die Migration zu MySQL oder PDO.
  • Sie können sich auch dafür entscheiden, eine EINZIGARTIGE Einschränkung für bestimmte Zeilen zu erzwingen.

Zusätzliche Ressourcen

  • [MySQL-Primärschlüssel Einschränkung](https://dev.mysql.com/doc/refman/5.7/en/constraint-primary-key.html)
  • [MySQL Alter Table](https://dev.mysql.com /doc/refman/5.7/en/alter-table.html)
  • [Auf Duplikate prüfen Werte](https://stackoverflow.com/questions/2211298/how-to-check-if-a-value-already-exists-to-avoid-duplicates)

Das obige ist der detaillierte Inhalt vonWie kann man effizient prüfen, ob eine Zeile in MySQL vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage