使用“values”语句更新MySQL行

时间:2012-09-25 16:08:35

标签: php mysql sql-update

问题是我有一些动态列,我总是使用相同的php ajax页面。所以我从另一页得到了一些昏迷的字符串。一个是列,另一个是表,另一个是数据。在插入中没有问题,因为我这样做:

$query =  'INSERT INTO '.$_GET["table"].' ('.$_GET["columns"].') VALUES('.$_GET["data"].')';
mysql_query($query, $link);

转变为:

INSERT sys_users_cfg (usr,pwd,permission_id,image) VALUES ('pepwe2','1234','1','')

我需要以同样的方式进行更新。与VALUES声明。像:

UPDATE sys_users_cfg (usr,pwd,permission_id,image) VALUES ('pepwe2','1234','1','') WHERE usr_id = 33

那个dosnt工作。这是可能的吗?

4 个答案:

答案 0 :(得分:1)

如果您使用主键更新,请使用REPLACE INTO语法,例如

REPLACE INTO sys_users_cfg (usr_id,usr,pwd,permission_id,image) VALUES (33,'pepwe2','1234','1','')

答案 1 :(得分:0)

MySQL更新的格式不同,请参阅http://www.tizag.com/mysqlTutorial/mysqlupdate.php

UPDATE table SET column = 'value', column2 = 'value2' WHERE id = ID

答案 2 :(得分:0)

这是您更新行的方式:

UPDATE sys_users_cfg SET usr = 'pepwe2', pwd = '1234', permission_id = 1, image = '' WHERE usr_id = 33

您可以阅读http://dev.mysql.com/doc/refman/5.0/en/update.html了解更多信息。

答案 3 :(得分:0)

 $values = explode(',', $_GET['data']);
 $query = "UPDATE sys_users_cfg SET usr = '$values[0]', pwd = '$values[1]', permission_id = '$values[2]', image = '' WHERE usr_id = '33'";