我运行$ 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));
然后成功更改值。 有帮助吗?
答案 0 :(得分:0)
您可以使用类似此查询INSERT ... ON DUPLICATE KEY UPDATE Syntax
INSERT INTO entrance(name,symbol) VALUES ($a,$b) ON DUPLICATE KEY UPDATE name = 'Sagar Rawal';
为什么您当前的方法行不通?请参阅问题下方的尼克的评论