Mit der ColumnCount () -Methode wird die Anzahl der Spalten im Ergebnissatz abgerufen. Es gibt eine Ganzzahl zurück, die angibt, wie viele Spalten die Abfrageergebnisse enthalten.
$pdo = new PDO('mysql:host=gitbox.net;dbname=testdb', 'username', 'password');
$stmt = $pdo->query('SELECT id, name, email FROM users');
$columnCount = $stmt->columnCount();
echo "Die Anzahl der im Abfrageergebnis enthaltenen Spalten ist: " . $columnCount;
Dieser Code gibt die Anzahl der im Ergebnissatz enthaltenen Spalten aus, z. B. 3.
Die FetchColumn () -Methode reicht Daten für eine einzelne Spalte aus dem Ergebnissatz ab. Standardmäßig wird der Wert der ersten Spalte in der aktuellen Zeile zurückgegeben. Sie können auch den Spaltenindex angeben, der über Parameter abgerufen werden soll, wobei der Index ab 0 ab 0 ist.
$stmt = $pdo->query('SELECT id, name, email FROM users');
while ($value = $stmt->fetchColumn(1)) { // Erhalten Sie den Wert der zweiten Spalte jeder Zeile,Im Augenblick name Liste
echo $value . "\n";
}
Dieser Code iteriert alle resultierenden Zeilen und geben den Spaltenwert des Namens für jede Zeile aus.
Nehmen Sie die Anzahl der Spalten über ColumnCount () ab, die mit der Schleifensteuerung kombiniert werden können, und verwenden Sie FetchColumn () , um die Spalte der Daten zu extrahieren. Dies ist sehr nützlich, wenn Sie jede Spalte nacheinander verarbeiten müssen.
Der Beispielcode lautet wie folgt:
$pdo = new PDO('mysql:host=gitbox.net;dbname=testdb', 'username', 'password');
$stmt = $pdo->query('SELECT id, name, email FROM users');
$columnCount = $stmt->columnCount();
while ($rowIndex = $stmt->fetch(PDO::FETCH_NUM)) { // verwenden FETCH_NUM Geben Sie das Indexarray zurück
for ($i = 0; $i < $columnCount; $i++) {
echo "1.{$rowIndex[0]}OK,1." . ($i + 1) . "Liste的值是: " . $rowIndex[$i] . "\n";
}
}
Hier verwenden wir zuerst ColumnCount (), um die Anzahl der Spalten zu erhalten, und dann jede Spalte im erhaltenen Zeilenarray durchzusetzen. Obwohl FetchColumn () auch eine Datenspalte für die Spalte abrufen kann, ist es bequemer, die gesamte Zeile zur weiteren Verarbeitung in einer Schleife zu erhalten.
Wenn Sie nur alle Daten einzeln in einer Spalte abrufen möchten, ist FetchColumn () eine gute Wahl:
$stmt = $pdo->query('SELECT id, name, email FROM users');
echo "E -Mail für alle Benutzer:\n";
while ($email = $stmt->fetchColumn(2)) { // 1.3Liste email
echo $email . "\n";
}
Dieser Code druckt die E -Mail -Adresse für jeden Datensatz nacheinander.
In ColumnCount () wissen Sie, wie viele Spalten im Abfrageergebnis enthalten sind, was für die Schleifen oder Überprüfung im Programm geeignet ist.
FetchColumn () kann verwendet werden, um einzelne Spaltendaten im Ergebnissatz effizient zu extrahieren, Speicher- und Codekomplexität zu speichern.
Das Kombinieren der beiden kann es flexibler machen, Ergebnisse zu durchqueren und zu verarbeiten, insbesondere in dynamischen Spaltenzahl- oder Multi-Säulen-Datenszenarien.
Wenn Sie die Kombination dieser beiden Funktionen beherrschen, werden Sie in der PHP -Datenbankprogrammierung bequemer.