通过php检查和更新mysql表

时间:2011-11-07 02:00:09

标签: php mysql

我正在研究如何更新特定的表,具体取决于该表中是否已存在该ID,或者是否需要创建该记录。

我打算使用一个从数据库中的主表传递id号的函数。 id值。

所以像update($ id)。但是当调用此函数时,我不太清楚如何检查数据库中是否已存在该值,如果确实存在,则更新记录。如果没有则创建记录。有什么想法吗?

我理解如何更新表,但不了解如何使用我需要的条件语句。

$query = "UPDATE reports FROM them where id='$id'";

伪代码:

  1. 检查表中是否存在$ id。
  2. 如果$ id存在,请更新该行
  3. 如果$ id不存在,请创建记录。

1 个答案:

答案 0 :(得分:1)

您需要事先执行select语句,以检查具有该ID的记录是否已存在。如果执行查询的结果不为空,则使用UPDATE语句。如果结果为空,请改为调用INSERT。

要检查现有记录,请使用如下所示的查询。提供了代码示例。

SQL:

"Select * from reports where id='$id'";

PHP:

$result = mysql_query("Select * from reports where id='$id'");
if (mysql_num_rows($result) > 0) {
   mysql_query("UPDATE...(your update statement query string)");
} else {
   mysql_query("INSERT...(your insert statement query string)");
}

请注意,这是一个基本示例,您应该记住清理查询变量以防止SQL注入,以及在执行查询时检查错误情况。