如何在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);
答案 0 :(得分:2)
在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。