Ich möchte PDO fetchAll()
Methode mit \PDO::FETCH_GROUP
Option verwenden.Abrufen aller Zeilen gruppiert nach einer bestimmten Spalte mit PDO und Auswahl aller Spalten
Allerdings verwendet \PDO::FETCH_GROUP
die erste Spalte als Schlüssel zum Gruppieren der Ergebnisse. Die Abfrage Ich habe wählt alle Felder mögen:
SELECT * FROM `my_table`;
Die Tabelle my_table
hat einige Felder und es ist durchaus möglich, dass neue Felder in der Zukunft hinzugefügt werden. Ich mag es nicht, alle Felder in der Abfrage einzeln anzugeben.
Die Tabelle sieht wie folgt aus:
| my_table |
+----------+
| id |
| type |
| a_field |
| b_field |
| ... |
Gibt es irgendeine Möglichkeit SELECT * FROM my_table
und Gruppe durch die type
Feld zu benutzen?
Ich habe die folgende Abfrage versucht, aber es hat eine Ausnahme:
$sql = "SELECT type, * FROM my_table";
$result = $pdo->query($sql)->fetchAll(\PDO::FETCH_GROUP);
Ausnahme:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM
my_table
WHERE type IN ('typeA', 'typeB', 'typeC')' at line 1' in MyClass.php on line XXX
* Was * Ausnahme hat es geworfen? Ok, du brauchst nicht zu lesen, was es sagt, aber kannst du es wenigstens hier posten, damit andere Leute eine Idee haben, was schief läuft? –
Entschuldigung, ich habe die Ausnahme hinzugefügt. Sicher habe ich die Ausnahme gelesen, und ich denke, dass die Abfrage kein gültiges SQL ist, das 'type, *' verwendet. –