2014-01-18 40 views
0

我有PHP代碼從下拉菜單中獲取值並在查詢中使用它們。但是他們被忽略了。這裏有一個例子:爲什麼變量不傳遞給查詢?

$sortIn = $_POST['SortIn']; 
    $sortBy = $_POST['SortBy']; 

    $myquery = 'SELECT something FROM somewhere ORDER BY "$sortBy" "$sortIn"' ; 

然而,查詢的執行過程$myquery = 'SELECT something FROM somewhere'

+0

「'如果你想逃脫不了你的變量開始的字符串連接 – Ohgodwhy

+0

請記住,你不應該使用雙引號'。」'內一個SQL查詢。 –

回答

1

更改爲:由於在單引號$sortBy$sortIn犯規解釋爲變量

$myquery = "SELECT something FROM somewhere ORDER BY $sortBy,$sortIn"; 

+1

我也建議在將這些變量追加到查詢以防止SQL注入之前對它們進行清理。 –

+0

謝謝Guilherme!我不會把這項工作放在網上,只是爲了一個簡單的演示目的。 – Joy

+0

@Guilherme Sehn是的,當然。它不是將變量傳遞到SQL查詢的正確方法。 – voodoo417

0

嘗試此查詢:因爲你需要使用`

$sortIn = $_POST['SortIn'] 
$sortBy = $_POST['sortBy'] 

$myQuery = "SELECT something FROM somewhere ORDER BY '".sortBy."','".SortIn."'"; 
相關問題