Die MySQL -Erweiterung ist eine häufige und effiziente Wahl, wenn MySQL -Datenbanken in PHP betrieben werden. Insbesondere bei der Verarbeitung von Abfragenergebnissen kann die Kombination aus MySQLI_Result :: Fetch_column und MySQLI_Query -Funktion den Prozess der Datenerfassung erheblich vereinfachen und die Einfachheit und Lesbarkeit des Codes verbessern. Dieser Artikel konzentriert sich auf die Kombination dieser beiden und teilt einige praktische Tipps und Beispiele, um Ihnen zu helfen, sie besser zu meistern und anzuwenden.
MySQLI_Query ist die Kernfunktion, die SQL -Anweisungen ausführt. Es akzeptiert Datenbankverbindungsobjekte und SQL-Abfragestatements als Parameter und gibt ein Ergebnissatz ( mySQLi_Result -Objekt) oder einen booleschen Wert (für Nicht-Anweisungen) zurück.
$mysqli = new mysqli('gitbox.net', 'username', 'password', 'database');
$sql = "SELECT name FROM users WHERE status = 1";
$result = $mysqli->query($sql);
Fetch_Column ist eine Methode der neu hinzugefügten MySQLi_Result -Klasse in PHP 8.1, mit der ein einzelnes Datenstück aus einer angegebenen Spalte aus dem Ergebnissatz erhalten wird. Im Vergleich zu den vorherigen Fetch_assoc () oder fetch_row () ist es prägnanter und ist besonders für Szenarien geeignet, in denen nur eine einzelne Datenspalte benötigt wird.
$name = $result->fetch_column(0);
echo $name;
Wenn Parameter 0 bedeutet, die Daten in Spalte 0 zu nehmen, beträgt die Standardeinstellung ebenfalls 0.
Wenn das Abfragen nur einen Feldwert erfordert, verwenden Sie Fetch_Column , um die Ergebnisse schnell ohne komplexe Array -Indexierungsvorgänge zu erhalten.
$sql = "SELECT email FROM users WHERE id = 123";
$result = $mysqli->query($sql);
if ($result) {
$email = $result->fetch_column();
echo "Benutzer -E -Mail ist:" . $email;
}
Versuchen Sie beim Abfragen in der Datenbank nur die erforderlichen Felder und kooperieren Sie mit Fetch_Column , um den Speicheraufwand zu reduzieren.
$sql = "SELECT COUNT(*) FROM orders WHERE status = 'pending'";
$result = $mysqli->query($sql);
if ($result) {
$pendingCount = $result->fetch_column();
echo "Ausstehende Bestellmenge:" . $pendingCount;
}
Bei Verwendung von MySQLI_Query sollte der Rückgabewert überprüft werden, um Programmausnahmen aufgrund von SQL -Fehlern zu verhindern. Das Lesen von Daten mit Fetch_Column sollte auch sicherstellen, dass der Ergebnissatz gültig ist.
$sql = "SELECT username FROM users WHERE id = 999";
$result = $mysqli->query($sql);
if (!$result) {
die("Abfrage fehlgeschlagen:" . $mysqli->error);
}
$username = $result->fetch_column();
if ($username === null) {
echo "Der Benutzer existiert nicht";
} else {
echo "Der Benutzername ist:" . $username;
}
Obwohl sich dieser Artikel auf mySQLI_Query konzentriert, kann die Kombination von Vorverarbeitungsanweisungen und Fetch_Column auch eine sicherere Parameterübertragung erreichen.
$stmt = $mysqli->prepare("SELECT email FROM users WHERE id = ?");
$stmt->bind_param("i", $userId);
$userId = 5;
$stmt->execute();
$result = $stmt->get_result();
$email = $result->fetch_column();
echo "Benutzer -E -Mail:" . $email;
In den obigen Beispielen können wir sehen, dass die Kombination von MySQLI_Result :: Fetch_column und MySQLI_Query den Code nicht nur prägnanter macht, sondern auch dazu beiträgt, die Effizienz des Datenlesung zu verbessern. Besonders geeignet, um einzelne Datenspalten abzufragen. Ich hoffe, die in diesem Artikel geteilten Tipps können Ihnen helfen, die MySQL -Datenbank effizienter zu betreiben und elegante PHP -Programme zu implementieren.
Verwandte Tags:
mysqli_result