我正在尋找一種不顯眼的方式來查找和替換表名,這是基於它們在SQL查詢中的位置。PHP - 在SQL中預定義表名的正則表達式
例子:
$query = 'SELECT t1.id, t1.name, t2.country FROM users AS t1, country AS t2 INNER JOIN another_table AS t3 ON t3.user_id = t1.id';
我基本上是需要預先設置客戶端名稱的縮寫表名,然後有我的CMS處理這種變化。因此,從'用戶'到'so_users'(如果Stack Overflow是一個客戶端),但不必在所有查詢表名稱(如Drupal)中添加大括號。一個例子就是WordPress如何讓你在設置時預先指定表名,但WordPress處理這個問題的方式對我而言並不理想。
對於我的例子,我想一些方法的輸出是:
$query = 'SELECT t1.id, t1.name, t2.country FROM so_users AS t1, so_country AS t2 INNER JOIN so_another_table AS t3 ON t3.user_id = t1.id';
(在表名前綴 'SO_')
謝謝。
克里斯
重複http://stackoverflow.com/questions/453975/php-regex-logic-for-prepending-table-names – 2009-04-07 17:29:43
不是重複的。 – chaos 2009-04-07 17:33:02