我有一個函數,它接受一個數組並根據數組的鍵/值對創建一條SQL語句。例如:查找字符串是否爲PHP中的MySQL函數
name=>SomeKittens
它會變成
(`name`) VALUES ('SomeKittens')
唯一的問題是,當我使用MySQL字符串函數如NOW()
。
creation_date=>NOW()
變成
(`creation_date`) VALUES ('NOW()')
注意NOW()
被轉義。有什麼辦法可以檢測出這個值是否是一個MySQL字符串函數? (當然,除了$value === "NOW()"
)
我使用的是Joomla DBO,但也開放給PDO/MySQLi解決方案。
NOW()不會被轉義,但它是一個文字字符串。 – PeeHaa 2012-07-24 18:55:03
你如何區分'NOW()'是一個函數,'NOW()'是一個硬編碼的5字符文字串?您可能需要在鍵/值對中手動提供更多元數據以指示如何解釋該值,例如'name => STRING:SomeKittens'和'creation_date => FUNC:NOW()' – mellamokb 2012-07-24 18:55:22