如何将值插入特定行?

时间:2011-08-05 20:15:39

标签: php mysql

我知道如何插入

database::query("INSERT INTO cr VALUES ('$flname', '$email', '$pass', '$ext')");

以及如何找到一行

database::query("SELECT * FROM cr WHERE email='$email'")

但我该怎么做,即选择一个specefic行,然后插入/更新该值。

4 个答案:

答案 0 :(得分:1)

您想要的是UPDATE现有行。为避免注入,您可以使用mysql_real_escape_string和/或准备和binding parameters来转义变量。

答案 1 :(得分:1)

database::query("update cr set FileName='$flname', Email='$email', Pass='$pass', Ext='$ext' where email='$email');

答案 2 :(得分:1)

将数据插入特定行需要此行存在;在这种情况下,你执行一个UPDATE,它通常有一个WHERE条件,就像SELECT有。

为了避免SQL注入,你想对你的变量使用mysql_real_escape_string();对于数字数据,转换为所需类型也是一个好主意。另一种选择是使用prepared statements

答案 3 :(得分:0)

如果您只想更改现有行中的字段:

UPDATE cr SET col = 'val' WHERE id = x

或者如果您不想插入或更新:

REPLACE cr VALUES ($id, '$flname', '$email', '$pass', '$ext')

在后者中你必须在id(或其他列)上放置唯一键

还有

INSERT INTO cr (...) ON DUPLICATE KEY UPDATE col = 'val'