Mysqli if exists update else update



现在我知道有很多关于这个主题的帖子,但无论我读了多少,我仍然不能得到这个工作

我有以下代码
$results = $mysqli->query("SELECT * FROM exhibitor_list WHERE companyid='$iscid'" );
if ($result->num_rows > 1){
$mysqli->query("UPDATE `exhibitor_list` (`id`, `company_name`, `description`, `country`, `website`, `logo`, `sponsortype`, `flag`, `facebook`, `twitter`, `instagram`, `youtube`,`facebookshow`, `twittershow`, `instagramshow`, `youtubeshow`, `companyid`) VALUES (NULL, '$companyname', '$description', '$country', '$website', '$file', '$sponsortype', '$countrycode', '$facebook', '$twitter', '$insta', '$youtube', '$facebookshow', '$twittershow', '$instashow', '$youtubeshow', '$iscid')");
}
else {
$mysqli->query("INSERT IGNORE INTO `exhibitor_list` (`id`, `company_name`, `description`, `country`, `website`, `logo`, `sponsortype`, `flag`, `facebook`, `twitter`, `instagram`, `youtube`,`facebookshow`, `twittershow`, `instagramshow`, `youtubeshow`, `companyid`) VALUES (NULL, '$companyname', '$description', '$country', '$website', '$file', '$sponsortype', '$countrycode', '$facebook', '$twitter', '$insta', '$youtube', '$facebookshow', '$twittershow', '$instashow', '$youtubeshow', '$iscid')");
}

它将插入一个新的字段到数据库中,但是如果$iscid已经在'companyid'表中,它将不会更新。

我肯定我的代码有错误的地方,但只是不能找出它。

感谢您的帮助。

您的update命令应该替换为:

UPDATE exhibitor_list SET company_name ="....", description ="...." WHERE id = 'your row id'

Ben Y也是对的,您应该检查num_rows是否大于0而不是1。

感谢user3754262

这是我所做的,效果很好。

$result = $mysqli->query("SELECT * FROM exhibitor_list WHERE companyid='$iscid'" );
if ($result->num_rows > 0){
    $mysqli->query("UPDATE `exhibitor_list` SET company_name='$companyname', description='$description', country='$country', website='$website', logo='$file', sponsortype='$sponsortype', flag='$countrycode', facebook='$facebook', twitter='$twitter', instagram='$insta', youtube='$youtube', facebookshow='$facebookshow', twittershow='$twittershow', instagramshow='$instashow', youtubeshow='$youtubeshow' WHERE companyid='$iscid'");
} else {
    $mysqli->query("INSERT IGNORE INTO `exhibitor_list` (`id`, `company_name`, `description`, `country`, `website`, `logo`, `sponsortype`, `flag`, `facebook`, `twitter`, `instagram`, `youtube`,`facebookshow`, `twittershow`, `instagramshow`, `youtubeshow`, `companyid`) VALUES (NULL, '$companyname', '$description', '$country', '$website', '$file', '$sponsortype', '$countrycode', '$facebook', '$twitter', '$insta', '$youtube', '$facebookshow', '$twittershow', '$instashow', '$youtubeshow', '$iscid')");
 }

最新更新