Saya mencoba menghapus tabel dengan nama dinamis. Saya sebenarnya membuat dan memanipulasi tabel secara dinamis, tetapi ini adalah pertanyaan yang paling sederhana.
Semuanya berfungsi dengan baik ketika saya menggunakan PDO mentah, seperti:
// PURE PDO VERSION
$this->db = new PDO(
'mysql:host=' . $configParams['db_hostname']
. ';port=' . $configParams['db_port']
. ';dbname=' . $configParams['db_name']
. ';charset=utf8mb4',
$configParams['db_username'],
$configParams['db_password']
);
$this->ps_DeleteTempTable = $db->prepare(
"DROP TABLE `:tableName`"
);
Tetapi ketika saya melakukan hal yang sama menggunakan Laravel, seperti:
// LARAVEL VERSION
$pdo = DB::connection()->getPdo();
$this->ps_DeleteTempTable = $pdo->prepare(
"DROP TABLE `:tableName`"
);
Saya menerima kesalahan berikut:
SQLSTATE[42S02]: Tabel atau tampilan dasar tidak ditemukan: 1146 Tabel 'testdb.?' tidak ada
Saya telah melihat pertanyaan lain tentang SO dengan tujuan serupa, tetapi semuanya menyarankan bahwa kueri pertama yang saya tulis tidak dapat berfungsi, padahal saya telah menggunakannya selama lebih dari setahun.
Terima kasih,
DROP TABLE `testdb.'table'`
- yang tidak valid. Versi PHP dan MySQL apa yang Anda jalankan? Bisakah Anda menunjukkan cara Anda mengeksekusi pengikatan juga? - person Qirel   schedule 07.06.2017