我认为这已经被问过,但没有一个答案对我有意义。我的代码是......
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”。我该怎么办?感谢。
答案 0 :(得分:2)
您应该使用一个查询:
INSERT INTO house (`id`, `string`)
VALUES ("' . $userid . '", "' . $new_home_entry . '")
ON DUPLICATE KEY UPDATE `string` = VALUES(`string`)