我需要在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