我根據url動態創建用於執行的sql語句。我這樣做他們:根據來自查詢字符串的輸入創建Sql語句
URL (using htaccess):
`http://www.example.com/us/california/sanjose`
Which translates to:
`http://www.example.com/index.php?country=US&state=california&sub=sanjose`
Then, in my script I do:
$sql = 'select * from table where';
if(isset($_GET['country'])){
$sql .= ' country='.$_GET['country'];
} else {
$sql .= ' country=US';
}
if(isset($_GET['state'])){
$sql .= ' and state='.$_GET['state'];
}
if(isset($_GET['sub'])){
$sql .= ' and sub='.$_GET['sub'];
}
//PDO
execute $SQL
這就是我如何做到這一點。有沒有更好,更乾淨的方法來做到這一點?基於url創建sql語句?你會怎麼做這樣的事情?
除了安全問題,對我來說似乎很好,但這不是代碼審查 – 2013-06-29 04:25:51
您的代碼易受** [SQL注入](http://en.wikipedia.org/wiki/SQL_injection)**的影響。 – Aiias
@dagon,@alias'htaccess規則'只允許'a-z'。你認爲安全仍然是一個問題? – Norman