我正在使用一個類來構建一個具有命名參數的MySQL查詢以將數據綁定到它。示例查詢可能是。現在使用佔位符區分用戶數據和查詢中的參數名稱
INSERT INTO table (title, text) VALUES (?title, ?text)
你可以指定值通過給參數名稱和值使用這些佔位符(?title
,?text
)。在這個過程中,這個值將會被轉義(基本上mysql_real_escape_string
帶有布爾值,數組等的特殊處理)。
問題是一個包含佔位符本身的值,因爲我依次替換它們。爲了完成上面的例子,替換可以如下。
title -> "hey ?text"
text -> "lorem ipsum ..."
我的第一個想法是首先用唯一值替換佔位符。這些必須是不能出現在轉義字符串中的字符串。
這是一個好方法,以及爲此目的存在哪些字符序列?
你是如何做字符串替換? – hafichuk
爲什麼你不使用PDO? – Paul
@hafichuk現在他們在foreach循環中調用簡單的'str_ireplace'調用。參數保存在關聯數組中,直到請求最終查詢。 – Frank