如何在php-mysql中使用与列名相同的php-var?
当访问此站点时
www.example.com/test.php?column=member_no&id=5
我将获得$_GET['column'] = member_no
和$_GET['id'] = 5
那么当我测试下面的代码时,为什么数据不更新?
$sql = "UPDATE table SET '".mysql_real_escape_string($_GET['column'])."' = '0' WHERE id = '".mysql_real_escape_string($_GET['id'])."' ";
$dbQuery = mysql_query($sql);
在PHP中使用Mysql字段名有其自身的约定,不能使用'
作为字段名,需要使用`或留空。
$sql = "UPDATE table SET `".mysql_real_escape_string($_GET['column'])."` = '0' WHERE id = '".mysql_real_escape_string($_GET['id'])."'";
$dbQuery = mysql_query($sql);
注:
mysql_*
在PHP上层版本中折旧并删除来自PHP 7.*,因此请避免使用它们,并从mysqli_*
或PDO。