Php 如何向specefic行插入值?

Php 如何向specefic行插入值?,php,mysql,Php,Mysql,我知道如何插入 database::query("INSERT INTO cr VALUES ('$flname', '$email', '$pass', '$ext')"); 如何找到一排 database::query("SELECT * FROM cr WHERE email='$email'") 但如何同时执行这两项操作,即选择一个specefic行,然后插入/更新该值 您想要的是对现有行进行修改。为了避免注入,您可以通过and和/或准备and来转义变量。您想要的是转义到现有行。为了

我知道如何插入

database::query("INSERT INTO cr VALUES ('$flname', '$email', '$pass', '$ext')");
如何找到一排

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

但如何同时执行这两项操作,即选择一个specefic行,然后插入/更新该值

您想要的是对现有行进行修改。为了避免注入,您可以通过and和/或准备and来转义变量。

您想要的是转义到现有行。为了避免注入,如果只想更改现有行中的字段,可以使用and和/或通过准备and来转义变量。

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'

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

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'

将数据插入特定行需要该行存在;在这种情况下,您将执行一个通常具有WHERE条件的操作,就像SELECT操作一样


为了避免SQL注入,您希望在变量上使用mysql\u real\u escape\u string();对于数字数据,强制转换为所需类型也是一个好主意。另一个选项是使用。

将数据插入特定行需要该行存在;在这种情况下,您将执行一个通常具有WHERE条件的操作,就像SELECT操作一样


为了避免SQL注入,您希望在变量上使用mysql\u real\u escape\u string();对于数字数据,强制转换为所需类型也是一个好主意。另一个选项是使用。

可能重复的。您是要更新现有行,还是要将新行插入表中的特定位置?后者在SQL中是不可能的/没有任何意义如果要在将用户值存储到数据库时阻止SQL注入,您可能需要查看准备好的语句。这个问题相当模糊。您是否希望使用从数据库中其他位置提取的数据插入行?是否希望更新现有行或将新行插入表中的特定位置?后者在SQL中是不可能的/没有任何意义如果要在将用户值存储到数据库中时阻止SQL注入,您可能需要查看准备好的语句。这个问题相当模糊您是否希望使用从数据库中其他位置提取的数据插入行?