【问题标题】:Check if a primary key exists检查主键是否存在
【发布时间】:2015-04-02 06:48:50
【问题描述】:

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

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”是否已经存在,以便知道是否应该创建一个全新的行,或者只是附加“字符串”。我该怎么做?谢谢。

【问题讨论】:

    标签: php arrays multidimensional-array explode


    【解决方案1】:

    您应该使用一个查询:

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

    【讨论】:

    • 我来得太晚了,即将发布同样的内容 :) 在我看来可能是最好的解决方案。
    • 谢谢。完美运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2023-03-30
    • 2015-12-04
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多