MySQL编辑特定列

时间:2012-01-10 05:06:13

标签: php mysql

确定。所以这就是我想做的事。

我想让它成为一段代码,从变量

中抓取内容
$_SESSION['user']

并在MySQL表中找到包含该变量的行。

然后我希望它通过从另一个变量中获取信息来编辑已经包含信息的行,例如

$_POST['country']

我不知道该怎么做。有一个简单的方法。

MySQL信息是:

 host: 'localhost'
 user: 'root'
 pass: ''
   db: 'database'
table: 'accounts'

1 个答案:

答案 0 :(得分:1)

你可以这样做:

mysql_query(sprintf("UPDATE accounts SET country='%s' WHERE user_id='%s'",
    mysql_real_escape_string($_SESSION['country']),
    mysql_real_escape_string($_SESSION['user'])
));

只需将字段/表替换为各自的名称即可。

您在这里学习的实际SQL是:

UPDATE table SET field='value', field2='value2', ... WHERE field3='value3', ...

确保始终像使用mysql_real_escape_string一样清理输入;不这样做会在您的系统中留下一个很容易被利用的漏洞 - 最坏的情况是您的数据库被丢弃,敏感数据被暴露或者黑客成功地将自己授权为另一个用户。

如果您没有连接到数据库,则执行此操作(在运行查询之前):

mysql_connect("localhost", "root", "");
mysql_select_db("database");