Bạn không thể sử dụng trình giữ chỗ trong các câu lệnh đã chuẩn bị sẵn cho số nhận dạng (cột / bảng / cơ sở dữ liệu / tên hàm, v.v.). Bạn chỉ có thể sử dụng chúng cho các giá trị.
CREATE TABLE noteshareproject.:title
// ^^^^^^ this will not work
Bạn sẽ phải làm sạch thủ công $title
vì vậy nó có thể được sử dụng trực tiếp trong chuỗi nếu bạn muốn thực hiện việc này.
Cũng lưu ý rằng DDL
câu lệnh chẳng hạn như CREATE TABLE
không thể được chuẩn bị, vì vậy sẽ không có ích gì khi sử dụng prepare()
. Bạn cũng có thể chỉ sử dụng query()
hoặc exec()
.
Tôi cũng tự hỏi liệu việc bạn muốn làm điều này có phải là một dấu hiệu cho thấy thiết kế cơ sở dữ liệu kém hay không - không chắc rằng yêu cầu cho nhiều bảng có cấu trúc giống hệt nhau là một cách thích hợp để lưu trữ thông tin của bạn, mặc dù không biết thêm về không thể nói chắc chắn về ứng dụng.