我正在构建一个工具,多个版本可能共享同一个数据库,并且每个实例将使用具有特定于实例的前置的相同表名。例如:
没有规范的表格列表,因此我无法创建翻译列表。我有一个扩展PDO的数据库对象,所以我可以设置每个实例的前置并截取$ sql for PDO :: prepare并在传递之前进行更改。
有没有一种很好的方法可以在PHP中选择SQL查询的表名并使用prepend修改字符串?我应该指定一个符号来指示查询的表,例如PDO使用:
来指示可替换表名的开头吗?正如PHP - Regex for prepending table names within SQL中所提到的,Regex无法处理非常特定范围之外的未知表名。 Drupal通过将表名包装在大括号中来实现这一点,因此正则表达式可以找到它。这是一个好方法,还是会让我头疼?