ข้อใดอธิบายความหมายของ “Parameterized query / Prepared statement” ได้ถูกต้อง

เครื่องหมายอัญประกาศคู่เป็นรูปแบบมาตรฐาน ส่วน Backtick หรือวงเล็บเหลี่ยมเป็นส่วนเฉพาะระบบ
กำหนดโครง SQL ก่อน แล้ว Bind ค่าเป็นข้อมูล ป้องกันไม่ให้ค่าผู้ใช้เปลี่ยนเจตนาของ Query
ใช้กับส่วนที่ Bind เป็นค่าไม่ได้ เช่น ชื่อคอลัมน์หรือ ASC/DESC โดยเลือกจากรายการที่โปรแกรมกำหนด
ช่วยจำกัดพื้นผิวข้อมูล แต่ Dynamic SQL ภายในยังเกิด Injection ได้หากต่อ String

เฉลยอธิบาย

หลักฐานส่วนที่ 5: Normalization และการออกแบบ Schemaระบุข้อความเต็มว่า “Parameterized query / Prepared statement — กำหนดโครง SQL ก่อน แล้ว Bind ค่าเป็นข้อมูล ป้องกันไม่ให้ค่าผู้ใช้เปลี่ยนเจตนาของ Query” ดังนั้นคำตอบคือ “กำหนดโครง SQL ก่อน แล้ว Bind ค่าเป็นข้อมูล ป้องกันไม่ให้ค่าผู้ใช้เปลี่ยนเจตนาของ Query” ส่วนตัวเลือกอื่นเป็นหลักของคนละเงื่อนไขหรือคนละประเด็น