我知道如何插入
database::query("INSERT INTO cr VALUES ('$flname', '$email', '$pass', '$ext')");
以及如何找到一行
database::query("SELECT * FROM cr WHERE email='$email'")
但我该怎么做,即选择一个specefic行,然后插入/更新该值。
答案 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'