1

问题是我有一些动态列,我总是使用相同的 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

那不起作用。这可能吗?

4

4 回答 4

1

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

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

于 2012-09-25T16:10:13.157 回答
0

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

UPDATE table SET column = 'value', column2 = 'value2' WHERE id = ID
于 2012-09-25T16:10:24.707 回答
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了解更多信息。

于 2012-09-25T16:10:52.623 回答
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'";
于 2012-09-25T16:13:14.417 回答