2014-09-23 32 views
0

我使用mysqli_real_escape_stringPHP怎樣才能用mysqli_real_escape_string

文本存儲文本問題轉換的特殊角色,我想用來存儲:

tesing%2Bsmaple%2Bid 

然後,我使用的方法:

$id = mysqli_real_escape_string($con, $query['ID']); 
echo $id; 

該文本更改爲:

tesing+smaple+id 

爲什麼文本會發生變化,如果我不希望它自動轉換它,該怎麼辦?

請幫

回答

0

用htmlspecialchars轉換的字符在HTML特殊含義爲實體。如果你有一些你想要插入到HTML文檔中的文本(當它停止,例如<這樣的字符被當作標籤的開始,並防止XSS),那麼這是非常重要的。

mysql_real_escape_string將MySQL SQL查詢中具有特殊含義的字符轉換爲轉義字符。這使您可以插入任意字符串到MySQL數據庫安全(防範錯誤和注入有,但是,更好的方式做同樣的事情

試試這個:。

$id = mysql_real_escape_string(htmlspecialchars($query['ID'])); 
echo $id; 
0

最好的辦法是base64_encode()存儲之前的值和base64_decode()它同時從數據庫中提取。你不會丟失任何信息:)

<?php 
$myvar = "tesing%2Bsmaple%2Bid"; 
$vartostore = base64_encode($myvar); 
echo $vartostore; 
$varfromdb = base64_decode($vartostore); 
echo $varfromdb;