dongyaofu0599 2017-12-02 10:05
浏览 53
已采纳

PDO SELECT和UPDATE循环

I'm really bad with php loops like foreach and while, so I seek help.

I need to loop this code:

$loser = $pdo->prepare("SELECT `user` FROM `contest` WHERE `winner`= '0'");
$loser->execute();

$balance = $pdo->prepare("SELECT `balance` FROM `users` WHERE `login` = '$loser'");
$balance->execute();

$new_balance = $balance + 100;

$back = $pdo->prepare("UPDATE `users` SET `balance`= '$new_balance' WHERE `login`= '$loser'");
$back->execute();

$returned = $pdo->prepare("UPDATE `contest` SET `returned`= '1' WHERE `login`= '$loser'");
$returned->execute();

I tried a couple of things and looked for similar questions around here but I couldn't come up with the solution unfortunately. Can somebody help, please?

  • 写回答

2条回答 默认 最新

  • douqian1517 2017-12-02 11:57
    关注

    Thank you everyone. I found a solution:

    $stmt = $pdo->prepare('SELECT * from contest  WHERE winner=0');
    $stmt -> execute();
    while($row = $stmt->fetch()) {
    
    $result_b = $pdo->prepare("SELECT `balance` FROM `users` WHERE `login` = '$row[user]'");
    
    $result_b->execute();
    
    $balance = $result_b->fetchColumn();
    
    $new_balance = $balance + 100;
    
    $back = $pdo->prepare("UPDATE `users` SET `balance` = '$new_balance' WHERE `login` = '$row[user]'");
    $back->execute();
    
    $returned = $pdo->prepare("UPDATE `contest` SET `returned` = '1'");
    $returned->execute();
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码