Itulah satu-satunya mitos paling umum tentang debugging SQL. "Saya perlu melihat kueri setelah persiapan untuk mengetahui apakah terjadi kesalahan". Faktanya adalah, Anda tidak , dan saya akan memberi tahu Anda alasannya.
Setelah kueri disiapkan, placeholder dapat dianggap sebagai string/bilangan bulat yang valid . Anda tidak peduli apa isinya.
Juga, jika Anda mengatur PDO dengan benar, Anda akan mendapatkan PDOException
yang mendetail merinci kesalahan yang Anda alami bersama dengan penelusuran balik lengkap di mana kesalahan terjadi, ditambah Anda mendapatkan string kesalahan dari MySQL, yang membuat kesalahan sintaks sangat mudah ditemukan.
Untuk mengaktifkan Pengecualian PDO dan menonaktifkan persiapan yang ditiru:
$pdo = new PDO("mysql:host=localhost;dbname=database_name", "user", "password");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);