Wenn wir in PHP eine MySQL -Datenbank für Abfragevorgänge verwenden, verwenden wir normalerweise die MySQLI -Erweiterung, um SQL -Abfragen durchzuführen. Nach der Ausführung der Abfrage müssen wir möglicherweise alle Ergebnisse einer bestimmten Spalte für die nachfolgende Verarbeitung in eine Zeichenfolge zusammenführen. Zu diesem Zeitpunkt sind die Funktionen von MySQLI_Result und Implode () sehr nützliche Werkzeuge.
In diesem Artikel wird angezeigt, wie Abfrageergebnisse über MySQLI_Result erhalten und mit der Funktion Implode () eine Datenspalte in den Abfrageergebnissen verbinden.
Zunächst müssen wir eine Verbindung zur MySQL -Datenbank herstellen. Angenommen, Sie haben die MySQL -Datenbank auf dem Server konfiguriert.
<?php
$servername = "localhost"; // Datenbankserveradresse
$username = "root"; // Datenbank Benutzername
$password = ""; // Datenbankkennwort
$dbname = "test_db"; // Datenbankname verwendet
// Eine Verbindung erstellen
$conn = new mysqli($servername, $username, $password, $dbname);
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($conn->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}
?>
Als nächstes müssen wir die SQL -Abfrage ausführen und die Ergebnisse erzielen. Nehmen wir an, wir haben eine Tabelle namens Benutzer , und es gibt eine Spalte in der Tabelle, die E -Mail ist, und wir möchten alle E -Mail -Adressen aller Benutzer in eine Zeichenfolge spleißen.
<?php
// Eine Frage ausführen
$sql = "SELECT email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Erstellen Sie ein leeres Array, um die Abfrageergebnisse zu speichern email
$emails = array();
// Ergebnissergebnisse,Legen Sie jeweils ein email Speichern auf Array
while ($row = $result->fetch_assoc()) {
$emails[] = $row['email'];
}
// verwenden implode() Funktionen werden das gesamte Array email Verkettet zu einer Schnur
$emailList = implode(", ", $emails);
echo "E -Mail -Adresse aller Benutzer: " . $emailList;
} else {
echo "Es wurden keine Daten gefunden";
}
$conn->close();
?>
$ conn-> Abfrage ($ SQL) : Diese Codezeile führt eine Abfrage aus und speichert die Abfrageergebnisse in der $ -sergebnis- Variablen.
$ result-> fetch_assoc () : Diese Codezeile erhält jede Datenzeile aus dem Abfrageergebnis. Wir fügen die Daten der E -Mail -Spalte einem Array $ $ -Rooping hinzu.
Implode (",", $ E -Mails) : Die Funktion implode () verkettet alle Elemente im Array (d. H. Die E -Mail -Adresse des Benutzers) in eine Zeichenfolge mit Kommas und Räumen.
Wenn das Abfrageergebnis keine Daten enthält, gibt $ result-> num_rows 0 zurück, und wir müssen entsprechende Urteile fällen.
Stellen Sie bei der Verwendung von MySQLi_Result zur Ermittlung von Abfrageergebnissen sicher, dass die von der SQL -Abfrage zurückgegebenen Ergebnisse gültig sind.
<?php
$servername = "localhost"; // Datenbankserveradresse
$username = "root"; // Datenbank Benutzername
$password = ""; // Datenbankkennwort
$dbname = "test_db"; // Datenbankname verwendet
// Eine Verbindung erstellen
$conn = new mysqli($servername, $username, $password, $dbname);
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($conn->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}
// Eine Frage ausführen
$sql = "SELECT email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Erstellen Sie ein leeres Array, um die Abfrageergebnisse zu speichern email
$emails = array();
// Ergebnissergebnisse,Legen Sie jeweils ein email Speichern auf Array
while ($row = $result->fetch_assoc()) {
$emails[] = $row['email'];
}
// verwenden implode() Funktionen werden das gesamte Array email Verkettet zu einer Schnur
$emailList = implode(", ", $emails);
echo "E -Mail -Adresse aller Benutzer: " . $emailList;
} else {
echo "Es wurden keine Daten gefunden";
}
$conn->close();
?>
Durch die Kombination der Funktionen von MySQLI_Result und implode () können wir leicht eine Datenspalte im Abfrageergebnis erhalten und sie in eine Zeichenfolge verkettet. Solche Methoden sind sehr nützlich, wenn große Datenmengen verarbeitet werden, insbesondere wenn Sie die Abfrageergebnisse an andere Systeme übergeben oder weitere Datenverarbeitung durchführen müssen.