动态添加SQL查询的表名

时间:2014-07-22 19:23:25

标签: php sql pdo prepend

我正在构建一个工具,多个版本可能共享同一个数据库,并且每个实例将使用具有特定于实例的前置的相同表名。例如:

  • 实体 - 通用表名称
  • toola_entities - 适用于实例的实体表
  • toolb_entities - 工具栏实例的实体表

没有规范的表格列表,因此我无法创建翻译列表。我有一个扩展PDO的数据库对象,所以我可以设置每个实例的前置并截取$ sql for PDO :: prepare并在传递之前进行更改。

有没有一种很好的方法可以在PHP中选择SQL查询的表名并使用prepend修改字符串?我应该指定一个符号来指示查询的表,例如PDO使用:来指示可替换表名的开头吗?正如PHP - Regex for prepending table names within SQL中所提到的,Regex无法处理非常特定范围之外的未知表名。 Drupal通过将表名包装在大括号中来实现这一点,因此正则表达式可以找到它。这是一个好方法,还是会让我头疼?

0 个答案:

没有答案