我想这已经被问过了,但没有一个答案对我来说有意义。我的代码是…
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`)