我跑这没有返回$搜索查询。行,并且如果使用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"
然后,价值成功地更改。任何帮助吗?
你可以使用类似这样的查询INSERT ... ON DUPLICATE KEY UPDATE Syntax
INSERT INTO entrance(name,symbol) VALUES ($a,$b) ON DUPLICATE KEY UPDATE name = 'Sagar Rawal';
为什么当前的方法行不通?看到你的问题如下尼克的评论