2013-06-25 60 views
0

我試圖創建一個動態頁面來從各種表中軟刪除記錄。如何使用php傳遞參數到mySQL查詢

任何人都可以幫助我解決以下問題嗎?當涉及到變量時,我很困惑於引號:

$table_name = $_REQUEST['t']; 
$record_id = $_POST['rid']; 
$field_id = print_var_name($rid); 

$sql="UPDATE `$table_name` SET `is_delete` = 1 WHERE `$field_id` = '$record_id'"; 
+2

我在sql中看不到任何語法錯誤。所有我知道的是它是脆弱的SQL注入。 –

+0

無論你在這裏輸入什麼都看起來完美,適合我 – krishnang

+0

謝謝JW。我只是一個初學者。這些代碼僅用於受密碼保護的管理面板。我將盡力避免通過PDO進行sql注入,但目前對我來說這太高級了。 :( –

回答

1

我會這樣做。

$sql="UPDATE `" . $table_name . "` SET `is_delete` = 1 WHERE `" . $field_id . "` = '$record_id'"; 
+0

沒有區別從原來的聲明 –

1

試試這個。

$table_name = $_REQUEST['t']; 
    $record_id = $_POST['rid']; 
    $field_id = print_var_name($rid); 

    $sql="UPDATE ".$table_name." SET ". is_delete." = 1 WHERE " .$field_id. " =" .$record_id; 

或改變你的查詢是這樣的。

$sql="DELETE FROM ".$table_name." WHERE ".$field_id. "=".$record_id; 
+1

OP要**軟刪除**。 –