检查是否存在主键

时间:2015-04-02 06:48:51

标签: php arrays multidimensional-array explode

我认为这已经被问过,但没有一个答案对我有意义。我的代码是......

if ($current_string == "") {

    $new_entry_query = 'INSERT INTO house (id, string) VALUES ("' . $userid . '", "' . $new_home_entry . '")';
    mysql_query($new_entry_query);
    Header('Location: landing.php?pho=');

} else {

    $entry_update_string = $current_string . $new_home_entry;
    $new_entry_query = 'UPDATE house SET string="' . $entry_update_string . '" WHERE id="' . $userid . '";';
    mysql_query($new_entry_query);
    Header('Location: landing.php?pho=');

}

我的表有两列。 “id”,它是主要的,而“string”则不是。如果你注意到,我在第一个if语句中检查“string”的查询是否为空,当我要求数据库检查我的“id”时。

我遇到了一个问题。我的网站上还有另一个功能,它删除了“字符串”列中的所有内容。如果该函数运行,那么我运行此脚本我将最终收到错误。

我需要检查“id”是否已经存在,以便我知道是否应该创建一个全新的行,或者只是附加“string”。我该怎么办?感谢。

1 个答案:

答案 0 :(得分:2)

您应该使用一个查询:

INSERT INTO house (`id`, `string`)  
   VALUES ("' . $userid . '", "' . $new_home_entry . '") 
   ON DUPLICATE KEY UPDATE `string` = VALUES(`string`)