[英]Php/SQL/DB2 special characters in where clause
我正在嘗試使用PHP和“DB2_exec”來SQL SQL數據庫(在iSeries上) - 而不是mysql。
我的WHERE
子句(變量$EncSSN
)中有這些字符會導致SQL語句停止: ðIn*Éæng
“”Ò×ÑRÈ•`
SQL構造如下:
select EENUM, EESSN
from EEMAST
where EESSN = '$EncSSN'
表EESSN中的字段包含加密值。 - 我沒有錯誤,沒有日志條目。 html呈現一個空白頁面。 - 我嘗試用轉義字符'\\'替換(str_replace)引號,單引號,句點等 - 我不能使用mysql_real_escape_string,因為我正在加載db2_connect資源。
如果我更改上面的SQL語句從不同字段中選擇值的where
,我的html會正確呈現。
你能想到我能做到這一點嗎?
史蒂芬
准備 SQL並使用數組方法為where子句設置參數。 永遠不要嘗試通過字符串函數構建SQL查詢。
嘗試使用addslashes()
函數http://php.net/manual/en/function.addslashes.php
或heredoc
或nowdoc
語法http://php.net/manual/en/language.types.string.php
你也可以將sql放在存儲過程中,但是你可能對參數值有相同的問題,需要嘗試上面的一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.