里面如果MySQL表的更新值else语句

问题描述 投票:0回答:1

我跑这没有返回$搜索查询。行,并且如果使用Else语句

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

我能够成功运行查询。我有值(ID(主),名称和符号)的柱。我想更新行值,如果码元= 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"

然后,价值成功地更改。任何帮助吗?

php mysql
1个回答
0
投票

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

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

为什么当前的方法行不通?看到你的问题如下尼克的评论

© www.soinside.com 2019 - 2024. All rights reserved.