Heim >Backend-Entwicklung >PHP7 >Wie führe ich CRUD -Operationen aus (erstellen, lesen, aktualisieren, löschen) in PHP 7?

Wie führe ich CRUD -Operationen aus (erstellen, lesen, aktualisieren, löschen) in PHP 7?

Robert Michael Kim
Robert Michael KimOriginal
2025-03-10 16:47:21253Durchsuche

So führen Sie CRUD -Operationen (erstellen, lesen, aktualisieren, löschen) in Php 7? Veranschaulichen wir die Verwendung von MySQL als Beispiel, die Prinzipien gelten jedoch für andere Datenbanksysteme mit geeigneten Treiberanpassungen. Wir werden vorbereitete Aussagen für Sicherheit und Effizienz verwenden.

1. Erstellen einer Datenbankverbindung:

Erstens müssen Sie eine Verbindung zu Ihrer Datenbank herstellen. Dies beinhaltet normalerweise die Verwendung der MySQLI -Erweiterung (oder PDO, eine vielseitigere Option).

<code class="php"><?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
?></code>
2. Create (einfügen):

Um einen neuen Datensatz einzufügen, verwenden Sie eine Einfügungsabfrage mit vorbereiteten Anweisungen, um SQL -Injektionsanfälligkeiten zu verhindern.

<code class="php"><?php
$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $name, $email); // "ss" specifies two string parameters

$name = "John Doe";
$email = "john.doe@example.com";
$stmt->execute();

if ($stmt->affected_rows > 0) {
  echo "New record created successfully";
} else {
  echo "Error: " . $sql . "<br>" . $conn->error;
}
$stmt->close();
?></code>
3. Lesen Sie (auswählen):

Um Daten abzurufen, verwenden Sie eine Auswahlabfrage. Auch hier werden vorbereitete Aussagen empfohlen, auch wenn Sie keine von Benutzer gelieferten Daten in der WO-Klausel für Konsistenz und Best Practices verwenden.

<code class="php"><?php
$sql = "SELECT id, name, email FROM users WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $id); // "i" specifies an integer parameter

$id = 1;
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
  }
} else {
  echo "0 results";
}
$stmt->close();
?></code>
4. Update (Update):

Um einen vorhandenen Datensatz zu ändern, verwenden Sie eine Aktualisierungsabfrage mit vorbereiteten Anweisungen.

<code class="php"><?php
$sql = "UPDATE users SET name = ?, email = ? WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssi", $name, $email, $id);

$name = "Jane Doe";
$email = "jane.doe@example.com";
$id = 1;
$stmt->execute();

if ($stmt->affected_rows > 0) {
  echo "Record updated successfully";
} else {
  echo "Error updating record: " . $conn->error;
}
$stmt->close();
?></code>
5. Löschen (löschen):

Um einen Datensatz zu entfernen, verwenden Sie eine Abfrage mit vorbereiteten Aussagen. (CSRF). Hier sind einige Best Practices:

  • hergestellte Anweisungen (parametrisierte Abfragen): Verwenden Sie immer vorbereitete Anweisungen (wie oben gezeigt), um die SQL -Injektion zu verhindern. Dies trennt den SQL -Code von den Daten und neutralisiert böswillige Eingaben. Validieren und sanitieren Sie alle Daten, bevor Sie sie in Abfragen verwenden oder auf der Seite anzeigen. Verwenden Sie Funktionen wie
  • , um XSS -Angriffe zu verhindern. Verwenden Sie zur Validierung der Datentyp entsprechende PHP -Funktionen (z. B.
  • , ). Verwenden Sie für den HTML -Kontext, htmlspecialchars() für JSON -Kontext und geeignete Codierungsfunktionen für andere Kontexte. Verwenden Sie Sitzungen oder Token, um die Benutzerauthentifizierung zu verwalten. Beschränken Sie den Zugriff basierend auf Benutzerrollen und Berechtigungen. Dies schützt die Daten in dem Transport. Verwenden Sie statische Analysetools und Penetrationstests, um Schwächen zu identifizieren und zu beheben. Vermeiden Sie es, übermäßige Privilegien zu gewähren. PostgreSQL)? Hier sind einige Strategien: is_numeric()
    • Datenbank -Indexierung: Erstellen Sie Indizes für häufig abfragte Spalten, um die Auswählen von Abfragen zu beschleunigen. Verwenden Sie
    • (MySQL) oder ähnliche Tools, um zu verstehen, wie die Datenbank Ihre Abfragen ausführt. Vermeiden Sie
    • ; Wählen Sie stattdessen nur die erforderlichen Spalten aus. Viele PHP -Datenbankbibliotheken unterstützen dies. Wenn eine Operation fehlschlägt, kann die gesamte Transaktion zurückgerollt werden. Verwenden Sie Caching -Mechanismen wie Memcached oder Redis. MySQL ist eine gute Wahl für allgemeine Wahl, während PostgreSQL erweiterte Funktionen wie JSON-Support und bessere Datenintegrität bietet. ORMs können Datenbankinteraktionen vereinfachen und häufig Funktionen für die Abfrageoptimierung bereitstellen. Batch -Operationen zur Reduzierung der Anzahl der Roundreisen in die Datenbank.
      • SQL -Injektion: Dies ist ein Hauptsicherheitsrisiko. Verwenden Sie vorbereitete Aussagen, um dies zu verhindern. Bei Debugging wird Ihr Code sorgfältig überprüft, um sicherzustellen, dass alle Benutzereingaben korrekt parametrisiert werden. Überprüfen Sie Ihre
      • -Anrufe (oder äquivalent in Ihrer ausgewählten Datenbankbibliothek) sorgfältig, um sicherzustellen, dass die Datentypen übereinstimmen. Überprüfen Sie Ihre SQL -Abfragen sorgfältig und verwenden Sie die Tools Ihres Datenbanksystems, um Fehler zu analysieren. Überprüfen Sie Ihre Verbindungsparameter und den Status Ihres Datenbankservers. Analysieren Sie Abfrageausführungspläne mithilfe von Datenbank -Tools, um langsame Abfragen zu identifizieren und Indizes zu optimieren. Verwenden Sie immer
      • Blöcke (oder äquivalent), um Ausnahmen und Protokollfehler zu behandeln. : Verwenden Sie diese Funktionen, um die Werte von Variablen und Datenstrukturen zu überprüfen. (XDEBUG): bind_param() Verwenden Sie einen PHP -Debugger wie Xdebug, um Ihren Code durchzusetzen und Variablen in jedem Schritt zu überprüfen. Dies hilft, Fehler frühzeitig im Entwicklungsprozess zu fangen.

Das obige ist der detaillierte Inhalt vonWie führe ich CRUD -Operationen aus (erstellen, lesen, aktualisieren, löschen) in PHP 7?. 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