簡體   English   中英

where子句中的Php / SQL / DB2特殊字符

[英]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

heredocnowdoc語法http://php.net/manual/en/language.types.string.php

你也可以將sql放在存儲過程中,但是你可能對參數值有相同的問題,需要嘗試上面的一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM