我需要在php中創建SQL更新語句,並且我的列名稱需要是變量。 我從jQuery的AJAX POST方法這些變量和我有他們在PHP:SQL變量列中的PHP變量
$variable = $_POST['variable'];
$row = $_POST['row'];
$field = $_POST['field'];
當我贊同他們,我得到正確的值,例如:
echo $variable;
echo $row;
echo $field;
和我 - martins,2,名字。在我的數據庫中,我有名字 - 名字的列。所以,我儘量讓這個聲明(我知道我需要使用事先準備好的聲明,但那是另一個問題)
$sql = 'UPDATE ajax_example SET '.$field.'= "'.$variable.'" WHERE id = "'.$row.'"';
mysql_query($sql) or die (mysql_error());
如果我改變「 $領域。」名稱 - firstname,那麼更新成功,所以$變量和$行被正確定義,但我需要這個列名作爲變量。我看過大約15個帖子,我已經嘗試了每個軟管代碼,但沒有任何內容。這真的不可能嗎?
讓您遠離輸入變量,請不要用'mysql_'功能了,使用'mysqli_'或'PDO ' – JamesHalsall
1.不要使用'mysql_'。他們被棄用(並且已經有幾年)。使用'mysqli_'或'PDO'。其次,這段代碼瘋狂地不安全。 – h2ooooooo
請你逃避你的輸入變量。將它們直接傳遞給聲明將打開經典攻擊的大門,稱爲「SQL注入」。 – fuesika