如何使用php-var和php-mysql中的列名相同


How to use php var as same as column name in php mysql?

如何在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。