NEIN Eine vorbereitete Anweisung wäre keine Lösung, da es nicht möglich ist, den Tabellennamen zu binden. Vermeiden Sie also die Verwendung einer vorbereiteten Anweisung für Truncate Table.
Sie können keine SQL-Litera binden l aber Daten eins. Schlüsselwörter, Operatoren und beliebige Bezeichner können also nicht mit vorbereiteten Anweisungen gebunden werden. Sie können nur Daten binden.
Vorbereitete PDO-Anweisungen sind nützlich, wenn Abfragen mit Benutzereingaben ausgeführt werden, da sie es Ihnen ermöglichen, Funktionen wie gebundene Parameter zu verwenden, um Benutzereingaben zu bereinigen.
In meinem Vorschlag sollten Sie also keine vorbereitete Anweisung zum Abschneiden der Tabelle verwenden.
Wenn Sie wirklich mit Prepared kürzen möchten, verwenden Sie im Falle von Opencart, das Sie verwenden, den Code:
$sql = sprintf('TRUNCATE TABLE %s%s', DB_PREFIX, $table);
$this->db->query($sql);
versuchen Sie es einmal damit und lassen Sie es mich wissen