In der vorherigen Folge dieser MySQL-Serie habe ich einen Überblick über die Tabellenmanipulation in MySQL gegeben. In diesem Teil der Tutorial-Reihe werde ich Ihnen beibringen, wie Sie CRUD in PHP und MySQL erstellen, indem Sie insert ausführen , aktualisieren und löschen Abfragen. Diese Abfragen können auf folgende Weise ausgeführt werden.
Einzelne Abfrageausführung
Es führt jeweils eine einzelne Abfrage aus. Beginnen wir damit, Daten in unsere Datenbank einzufügen, die wir zuvor auf unserem Hosting für PHP MySQL erstellt haben. Erstellen Sie im Ordner „practice“ eine neue PHP-Datei “, die wir zuvor erstellt haben, und nennen Sie sie crud.php. CRUD ist die Abkürzung für Create-, Read-, Update- und Delete-Queries. Fügen Sie nun in der neuen Datei oben diese Zeile hinzu require_once ‘db_connection.php’ und erstelle diese neue Funktion:
require_once 'db_connection.php'; function SingleQuery($queri) { $conn = OpenCon(); if($conn->query($queri) === TRUE) { CloseCon($conn); return true; } else { return $conn->error; } }
Die Funktion nimmt einen einzelnen Parameter als erforderliche Abfrage und führt ihn aus. Erstellen Sie nun eine neue Datei, index2.php im selben Ordner und fügen Sie oben diese Zeile hinzu require_once ‚crud.php‘. Fügen Sie nun diese Zeilen in Ihre index2.php ein:
include 'crud.php'; $sql = "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('w','w','[email protected]','First Insert Using Single Query')"; $result = SingleQuery($sql); if($result === true) { echo 'success'; } else { echo $result; }
Öffnen Sie dann Ihren Browser und suchen Sie localhost/practice/index2.php und Sie werden Erfolg haben, wenn Sie die richtige Abfrage eingegeben haben.
Ausführung mehrerer Abfragen
Mit dieser Methode können Sie mehr als eine Einfügung ausführen , auswählen oder aktualisieren Anfrage. Beginnen wir damit, eine Funktion für Multi Insert zu schreiben oder Aktualisieren Abfragen. Schreiben Sie diese neue Funktion in Ihre crud.php-Datei
function MultiQuery($quries) { $conn = OpenCon(); if($conn->multi_query($quries) === true) { CloseCon($conn); return true; } else { return $conn->error; } }
Die Funktion nimmt einen einzelnen Parameter als erforderliche Abfrage und führt ihn aus. Rufen Sie nun diese Funktion in Ihrer index2.php auf:
include 'crud.php'; $sql = "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('a','a','[email protected]','First Insert Using Multiple Queries');"; $sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('b','b','[email protected]','First Insert Using Multiple Queries');"; $sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('c','c','[email protected]','First Insert Using Multiple Queries');"; $result = MultiQuery($sql); if($result === true) { echo 'success'; } else { echo $result; }
Öffnen Sie jetzt Ihren Browser und suchen Sie localhost/practice/index2.php und Sie werden Erfolg haben, wenn Sie die richtige Abfrage eingegeben haben.
Nichts ist so einfach wie das Bereitstellen von PHP-Apps in der Cloud
Mit Cloudways können Sie Ihre PHP-Apps in nur wenigen Minuten auf verwalteten Cloud-Servern zum Laufen bringen.
Kostenlos startenCRUD in PHP und MySQL mit vorbereiteten Anweisungen
Vorbereitete Anweisungen werden verwendet, um dieselbe Abfrage mehrmals mit hoher Effizienz auszuführen. Schreiben Sie nun diese neue Funktion in Ihre crud.php-Datei:
function PreQuery($fname,$lname,$email,$subj) { $conn = OpenCon(); $query = $conn->prepare("INSERT INTO myguests(firstname, lastname, email, subject) VALUES (?,?,?,?)"); $query->bind_param("ssss", $fname,$lname,$email,$subj); if($query->execute()) { CloseCon($conn); return true; } else { return $conn->error; } }
Wir werden Daten anhand vorbereiteter Anweisungen auswählen. Sehen wir uns an, wie die vorbereitete Anweisung funktioniert:
- Zunächst bereiten Sie Ihre Anweisung wie INSERT INTO myguests(firstname, lastname, email, subject) VALUES (?,?,?,?) vor. Wir haben verlassen? wo wir die Werte einfügen wollen.
- Zweitens binden wir diese Werte. Der erste Parameter übernimmt die Datentypen des Werts und danach die Werte. Das Datentypargument kann von vier Typen sein.
- i – Ganzzahl
- s – Zeichenkette
- d – doppelt
- b – Klecks
- Wir werden es ausführen.
Die Funktion nimmt vier Parameter als Ihren erforderlichen Wert und führt ihn aus. Rufen Sie nun diese Funktion in Ihrer index2.php auf:
include 'crud.php'; $firstn = "Ahmed"; $lastn = "Khan"; $email = "[email protected]"; $subject = "Inserting Data using prepared Query"; $result = PreQuery($firstn,$lastn,$email,$subject); if($result === true) { echo 'success'; } else { echo $result; }
Öffnen Sie nun Ihren Browser und suchen Sie localhost/practice/index2.php und Sie werden erfolgreich sein, wenn Sie die richtige Abfrage eingegeben haben.
Abfrageausführung auswählen
Lassen Sie uns nun die Daten aus unserer MySQL-Datenbank mithilfe der Ausführung einer einzelnen Abfrage auswählen. Schreiben Sie eine neue Funktion in Ihre crud.php, die unten geschrieben ist:
function selectdata($sql) { $conn = OpenCon(); $result = $conn->query($sql); if($result) { if($result->num_rows > 0) { return $result; } else { return "zero"; } } else { return $result->error; } }
Die Funktion prüft zunächst, ob die Abfrage erfolgreich ausgeführt wurde. Wenn nicht, sendet es einen Fehler. Zweitens prüft es, ob die Anzahl der Zeilen größer als 0 ist oder nicht. Wenn ja, sendet es „Null Ergebnisse gefunden“. Rufen Sie nun diese Funktion in index2.php auf und schreiben Sie den folgenden Code:
<table> <tr> <td> Name</td> <td> Email</td> <td> Message</td> </tr> <?php include 'crud.php'; $sql = "SELECT * FROM `myguests`"; $result = selectdata($sql); if($result != "zero") { while($row = $result->fetch_assoc()) { echo "<tr>"; echo "<td>" . $row['firstname'].' '.$row['lastname'] . "</td>"; echo "<td>" . $row['email']. "</td>"; echo "<td>" . $row['subject']. "</td>"; echo "</tr>"; } } else { echo $result; } ?> </table>
Öffnen Sie danach Ihren Browser und suchen Sie localhost/practice/index2.php und Sie werden alle Datenspeicher in Ihrer Datenbank auf Ihrer Seite index2.php finden.
Aktualisiere Abfrage mit vorbereiteter Anweisung
Lassen Sie uns eine neue Funktion in Ihre crud.php-Datei schreiben, um die Update-Anweisung auszuführen:
function UpdateQuery($column,$value,$id) { $conn = OpenCon(); $query = $conn->prepare("UPDATE myguests SET $column = ? WHERE id = ?"); $query->bind_param("si",$value,$id); if($query->execute()) { CloseCon($conn); return true; } else { return $conn->error; } }
Der Aktualisierungsparameter benötigt drei Parameter. Einer ist der Spaltenname, der aktualisiert werden muss, der zweite ist der Wert, der durch den vorherigen Wert ersetzt wird, und der dritte ist die ID der Zeile, in der er geändert wird. Führen Sie nun diese Funktion in index2.php aus:
include 'crud.php'; $result = UpdateQuery("firstname","David",1); if($result === true) { echo 'success'; } else { echo $result; }
Wenn Sie das getan haben, öffnen Sie Ihren Browser und suchen Sie localhost/practice/index2.php und Sie werden erfolgreich sein, wenn es keinen Fehler gibt.
Abfrage mit vorbereiteter Anweisung löschen
Lassen Sie uns eine neue Funktion in Ihre crud.php-Datei schreiben, um eine Löschanweisung auszuführen:
function DeleteQuery($id) { $conn = OpenCon(); $query = $conn->prepare("DELETE FROM myguests WHERE id = ?"); $query->bind_param("i",$id); //var_dump($query); if($query->execute()) { CloseCon($conn); return true; } else { return $conn->error; } }
Der Löschparameter nimmt einen Parameter, der die ID der Zeile ist, die aus der Tabelle gelöscht werden muss. Führen Sie nun diese Funktion in index2.php aus:
include 'crud.php'; $result = DeleteQuery(1); if($result === true) { echo 'success'; } else { echo $result; }
Öffnen Sie danach Ihren Browser und suchen Sie localhost/practice/index2.php und Sie werden Erfolg haben, wenn es keinen Fehler gibt.
Schlussfolgerung
In dieser Anleitung haben wir gelernt, wie CRUD in PHP und MySQL auf drei verschiedene Arten ausgeführt wird. In der nächsten Folge dieser MySQL-Serie werde ich MySQL-Datenabrufklauseln erörtern. Hier ist eine kurze Einführung und eine Liste der Hauptthemen dieser MySQL-Reihe.
Wenn Sie Fragen zu dem haben, was wir in diesem Tutorial gelernt haben, können Sie unten einen Kommentar hinterlassen! Viel Glück! 🙂