$db_name = 'myDbName';
CREATE DATABASE IF NOT EXISTS `$db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
当这两个指令被执行时,数据库被创建了,但是它的名字是'myDbName',包括引号。
如果我在第一行删除引号,我将得到一个PHP错误,如果我从第二行删除,我将得到一个mySql错误。是否有一种方法可以删除它们/创建一个数据库与正确的名称,而不直接访问DBMS?
我真的不希望在第二行
提前感谢您的回答
您可以使用字符串连接并删除反引号
"CREATE DATABASE IF NOT EXISTS " . $db_name . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
你也可以避免在引号内使用concat和var(这可能是有用的,如果你需要反引号来允许保留字)
"CREATE DATABASE IF NOT EXISTS '$db_name' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";