检查是否存在主键


Check if a primary key exists

我想这已经被问过了,但没有一个答案对我来说有意义。我的代码是…

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语句中,当我要求数据库检查我的"id"时,我正在检查"string"的查询是否为空

我遇到了一个问题。我的网站上还有另一个功能,可以删除"字符串"列中的所有内容。如果这个函数运行,那么我运行这个脚本,我会得到一个错误。

我需要检查"id"是否已经存在,这样我就知道是应该创建一个全新的行,还是只是附加"string"。我该怎么做?谢谢

您应该使用一个查询:

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