gpt4 book ai didi

php 和 mysqli SELECT 查询如果存在,则更新它,否则插入它

转载 作者:行者123 更新时间:2023-11-29 07:56:41 26 4
gpt4 key购买 nike

我正在运行查询来检查数据库中是否存在现有值,如果它们确实存在,则更新它们而不是重新插入它们。

目前,我的代码只是将值重新插入表中,而不是更新它们,这意味着我的代码永远不会到达语句的 else 部分。

if(isset($user_info->error)){
// Something's wrong, go back
header('Location: twitter_login.php');
}
else {
// Let's find the user by its ID
$query = ("SELECT * FROM twitter WHERE oauth_provider = 'twitter' && oauth_uid = '".$user_info->id."'");
$rs=$mysql->query($query);
$results = $rs->fetch_array(MYSQLI_ASSOC);
// If not, let's add it to the database
if(empty($result)){
$query = ("INSERT INTO twitter (oauth_provider, oauth_uid, username, oauth_token, oauth_secret)
VALUES ('twitter', {$user_info->id}, '{$user_info->screen_name}', '{$access_token['oauth_token']}', '{$access_token['oauth_token_secret']}')");
$rs=$mysql->query($query);
$insert = ("SELECT * FROM twitter WHERE id = " . mysqli_insert_id($mysql));
$rs=$mysql->query($insert);
$results = $rs->fetch_array(MYSQLI_ASSOC);
}
else{
// Update the tokens
$update = ("UPDATE twitter SET oauth_token = '{$access_token['oauth_token']}',
oauth_secret = '{$access_token['oauth_token_secret']}'
WHERE oauth_provider = 'twitter' AND oauth_uid = {$user_info->id}");
$rs=$mysql->query($update);
$rs->close();
}

最佳答案

$result$results 之间存在拼写错误

$results = $rs->fetch_array(MYSQLI_ASSOC);
// If not, let's add it to the database
if(empty($result)){
^
Here

as $result 未声明之前它将始终为空并且 if 部分始终为 true。

关于php 和 mysqli SELECT 查询如果存在,则更新它,否则插入它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24957744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com