いいえ、 テーブル名をバインドできないため、プリペアドステートメントは解決策にはなりません。したがって、テーブルの切り捨てにプリペアドステートメントを使用することは避けてください。
SQLリテラをバインドすることはできません lしかしデータ1。したがって、キーワード、演算子、および識別子は、プリペアドステートメントを使用してバインドすることはできません。バインドできるのはデータのみです。
PDOプリペアドステートメントは、バインドされたパラメーターなどの機能を使用してユーザー入力をサニタイズできるため、ユーザー入力を使用してクエリを実行する場合に役立ちます。
したがって、私の提案では、テーブルの切り捨てにプリペアドステートメントを使用しないでください。
準備済みを使用して本当に切り捨てたい場合、使用しているOpencartの場合は、次のコードを使用します:
$sql = sprintf('TRUNCATE TABLE %s%s', DB_PREFIX, $table);
$this->db->query($sql);
これを一度試して、私に知らせてください