$db_name = 'myDbName';
CREATE DATABASE IF NOT EXISTS `$db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
执行这两条指令时,会创建数据库,但其名称为“myDbName'”,包含引号。
如果我删除第一行中的引号,我将收到PHP错误,如果我从第二行删除,我将收到mySql错误。
有没有办法删除它们/使用正确的名称创建数据库而无需直接访问DBMS?
我真的不想在第二行硬编码名称
提前感谢您的答案
答案 0 :(得分:2)
您可以使用字符串concat并删除反引号
"CREATE DATABASE IF NOT EXISTS " . $db_name . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
你也可以避免连接和使用var内部引用(如果你需要反对允许保留字,这可能很有用)
"CREATE DATABASE IF NOT EXISTS '$db_name' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";