dousu8767 2019-02-05 02:35
浏览 71

如果是else语句,更新Mysql表里面的值

I run $search query which returns no. of rows and using if Else statement

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

I am able to run the query successfully. I have a column with value (id(primary), name and symbol). I would like to update row value if symbol=123; and insert if it is different then 123.

I am able to insert new row when I enter different symbol but unable to update value although executes successfully if symbol no is same.

Here is my code

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

}

But when I run from Mysql command panel below code

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

Then value change successfully. Any help?

  • 写回答

1条回答 默认 最新

  • doulan0297 2019-02-05 02:40
    关注

    You could use something like this query INSERT ... ON DUPLICATE KEY UPDATE Syntax

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

    Why your current approach doesn't work? See Nick's comment below your question

    评论

报告相同问题?

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器