gpt4 book ai didi

php - if else 语句中更新Mysql表的值

转载 作者:行者123 更新时间:2023-11-29 16:20:37 37 4
gpt4 key购买 nike

我运行 $search 查询,它返回 no。行数并使用 if Else 语句

If (no. of rows>0{
Update The row where symbol=123;
}else{
Insert new row
}

我能够成功运行查询。我有一列包含值(id(primary)、名称和符号)。如果符号=123,我想更新行值;如果与 123 不同则插入。

当我输入不同的符号时,我可以插入新行,但无法更新值,尽管如果符号编号相同则执行成功。

这是我的代码

$sql="SELECT * FROM entrance WHERE symbol='15369-2017-02'";
$STH = $db->prepare($sql);
$STH->execute(array(symbol));
$User = $STH->fetch();

if (!empty($User)){

$sql = "UPDATE entrance SET name ='Sagar Rawal'
WHERE symbol='15369-2017-02'";
$q = $db->prepare($sql);
$q->execute($sql);
}
else{
$sql = "INSERT INTO entrance(name,symbol) VALUES (:a,:b)";
$q = $db->prepare($sql);
$q->execute(array(':a'=>$a,':b'=>$b));

}

但是当我从下面的代码的 Mysql 命令面板运行时

UPDATE entrance SET name="Ritish Karki" WHERE symbol="15369-2017-02"

然后值更改成功。有什么帮助吗?

最佳答案

您可以使用类似这样的查询 INSERT ... ON DUPLICATE KEY UPDATE Syntax

INSERT INTO entrance(name,symbol) VALUES ($a,$b) ON DUPLICATE KEY UPDATE name = 'Sagar Rawal';

为什么您当前的方法不起作用?请参阅问题下方的尼克的评论

关于php - if else 语句中更新Mysql表的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54527056/

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