[PHP]POST the SQL sentence

摘要:[PHP]POST the SQL sentence

前幾天在撰寫某項需要將前一頁的SQL查詢POST到下一個action page時,發現了一個問題...POST後,沒辦法執行。

照經驗來講,在action page的部分,直接呼叫$_POST['xxxx']即可,但是這時候發現卻無法正確的執行,echo出來SQL sentence時發現句子的描述被改變了,每個單引號中多了個跳脫字元。
原本希望他是這樣:

select * from test where sex='boy';

 

結果變成這樣:

select * from test where sex=\'boy\';

 

於是針對程式做了點修改:
a.php

<form name="form1" action="b.php" method="post">

<input type="hidden" name="sql" value="<? echo $sql; ?>" />

</form>

而b.php的部分我加了字元的處理:

b.php

<?
$sql = $_POST['sql'];
$sql = str_replace("\\","",$sql);
?>

 這樣就可以正確的把跳脫字元處理掉,記得唷!! 在雙引號中間是兩個跳脫字元( \ )