如果else语句中更新Mysql表的值

时间:2019-02-05 02:35:20

标签: php mysql

我运行$ search查询,该查询返回否。行并使用if Else语句

e.preventDefault

我能够成功运行查询。我有一列值(id(主要),名称和符号)。如果symbol = 123,我想更新行值;如果不是123,则插入。

我可以在输入其他符号时插入新行,但是如果符号号相同则成功执行,但无法更新值。

这是我的代码

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

}

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

$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));

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

1 个答案:

答案 0 :(得分:0)

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

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

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