如何在 mysql_query 加入 $_POST 變數!
最近遇到此問題!
其實以前的作法會先 dim 變數來把 form 的參數存入後再帶入 mysql_query()
但這幾天突然很想直接就寫入 mysql_query() 裡
可是會遇到一個問題,例:
mysql_query("select * from table where id=$_POST['aaa']");
以上會出現 error,因為 query 並無法認出 $_POST[]
而只用單引號隔開要 POST 的參數,會出現錯誤訊息~
試了幾個方法,如:
mysql_query("select * from table where id="$_POST['aaa']"");
mysql_query("select * from table where id="+ $_POST['aaa']+"");
......等
都是不行的!
最近幾天就上網 google 了一下,終於找到答案!
mysql_query("select * from table where id='{$_POST["aaa"]}'");
只要利用單引號及大括號,再把參數用雙引號隔開即可!
以上經測試後沒問題~特此分享!
Ps. 但是此類方式須注意到 SQL Injection 的問題會不會發生,需要特別 check字元.
其實以前的作法會先 dim 變數來把 form 的參數存入後再帶入 mysql_query()
但這幾天突然很想直接就寫入 mysql_query() 裡
可是會遇到一個問題,例:
mysql_query("select * from table where id=$_POST['aaa']");
以上會出現 error,因為 query 並無法認出 $_POST[]
而只用單引號隔開要 POST 的參數,會出現錯誤訊息~
試了幾個方法,如:
mysql_query("select * from table where id="$_POST['aaa']"");
mysql_query("select * from table where id="+ $_POST['aaa']+"");
......等
都是不行的!
最近幾天就上網 google 了一下,終於找到答案!
mysql_query("select * from table where id='{$_POST["aaa"]}'");
只要利用單引號及大括號,再把參數用雙引號隔開即可!
以上經測試後沒問題~特此分享!
Ps. 但是此類方式須注意到 SQL Injection 的問題會不會發生,需要特別 check字元.
0 意見: