Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann ich eine MYSQL-Tabelle mit einer parametrisierten PDO-Anweisung erstellen?

Sie können keine Platzhalter in vorbereiteten Anweisungen für Bezeichner (Spalten-/Tabellen-/Datenbank-/Funktionsnamen usw.) verwenden. Sie können sie nur für Werte verwenden.

CREATE TABLE noteshareproject.:title
//                            ^^^^^^ this will not work

Sie müssen $title manuell bereinigen es kann also direkt in der Zeichenfolge verwendet werden, wenn Sie dies tun möchten.

Beachten Sie auch, dass eine DDL Anweisung wie CREATE TABLE kann nicht vorbereitet werden, daher macht es keinen Sinn, prepare() zu verwenden . Sie können auch einfach query() verwenden oder exec() .

Ich frage mich auch, ob die Tatsache, dass Sie dies überhaupt tun möchten, ein Indikator für ein schlechtes Datenbankdesign ist - es ist unwahrscheinlich, dass die Anforderung mehrerer Tabellen mit identischer Struktur eine geeignete Methode zum Speichern Ihrer Informationen ist, obwohl Sie nicht mehr über Ihre wissen Anwendung kann man nicht mit Sicherheit sagen.