NEJ, En förberedd sats skulle inte vara en lösning eftersom det inte är möjligt att binda tabellnamnet. Undvik därför att använda förberedd sats för Truncate Table.
Du kan inte binda någon SQL litera Jag men data ett. Så nyckelord, operatorer och någon identifierare kan inte bindas med förberedda uttalanden. Du kan bara binda data.
PDO-förberedda satser är användbara när du kör frågor med användarinmatning eftersom de låter dig använda funktioner som bundna parametrar för att rensa användarinmatning.
Så i mitt förslag bör du inte använda förberedda uttalanden för att trunkera tabellen.
Om du verkligen vill trunkera med preparerad , Använd koden för Opencart som du använder:
$sql = sprintf('TRUNCATE TABLE %s%s', DB_PREFIX, $table);
$this->db->query($sql);
försök med detta en gång och låt mig veta