我有一个系统性的问题,我没有时间或预算来修复,我希望有一个可以部署的mysql hack,这可以帮助我的小世界免于即将到来的厄运。MySQL - 别名数据库名称?
我现在管理的系统的创建者没有意识到数据库名称可能包含字母,数字和下划线以外的字符。结果查询看起来像这样。
SELECT * FROM {$db}.settings
如果数据库名称包含非标准的东西...像一个破折号。世界即将结束,所有查询都会中断。
数据库前缀在那里,因为这个系统使用但并不现在运行多站点功能。
你会认为我可以解决这个问题..
$db = "`{$db}`";
如果只..你看到它原来的JavaScript功能解决此数据库名称发送负荷跟踪更新的站点。通过添加这些报价,你打破了这一切的不是得到databasename
的,是越来越
`databasename`
所以......为什么不让我刚才设置的数据库名称的东西,是兼容的。这个系统的船舶到外部服务器在那里我有过的数据库名称无法控制......
疼痛...
有没有办法在初步查询,则这将影响所有后续查询别名数据库名称。基本上设置一个常量?
类似的东西,然后将在所有后续查询工作。就像:
set `$db` AS database
我可以设置$ db变量到数据库,它应该运行..如果这是可能的?