duanqiang5722 2014-12-22 17:14
浏览 46
已采纳

MySQLi Prepared语句多个执行()

    $con=mysqli_connect("localhost","eradmin","eradmin","employrank",8889);
    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }       

    $id = isset($_POST['id']) ? $_POST['id'] : null;
    $add = isset($_POST['add']) ? $_POST['add'] : null;

    if($id != null){
        $stmt = $con->prepare('update contestants set score = score + 1 where id = ?');
        $stmt->bind_param('i', $id);
        $stmt->execute();
    }

    if($add != null){
        $ln =  isset($_POST['ln']) ? $_POST['ln'] : null;
        $fn =  isset($_POST['fn']) ? $_POST['fn'] : null;
        $dv =  isset($_POST['div']) ? $_POST['div'] : null;
        $sr =  isset($_POST['scr']) ? $_POST['scr'] : null;
        $stmtAdd = $con->prepare('insert into contestants(ID, last_name, first_name, dept, score) values (DEFAULT,?, ?, ?, ?)');
        $stmtAdd->bind_param('ssii', $ln, $fn, $div, $scr);
        $stmtAdd->execute();
    }

The stmt executes fine. But the stmtAdd doesn't get executed. I placed echos and it does make it there. Not sure what it could be.

  • 写回答

1条回答 默认 最新

  • dongmu3187 2014-12-22 17:19
    关注

    Make sure ID isn't an AI. (Just an insight)

    However, you're using the wrong variables $div and $scr in:

    $stmtAdd->bind_param('ssii', $ln, $fn, $div, $scr);
    

    which should read as $dv and $sr respectively.

    $stmtAdd->bind_param('ssii', $ln, $fn, $dv, $sr);
    

    as per what you presently have:

    $dv =  isset($_POST['div']) ? $_POST['div'] : null;
    

    and

    $sr =  isset($_POST['scr']) ? $_POST['scr'] : null;
    

    • Having used error reporting would have signaled those undefined variables.

    Add error reporting to the top of your file(s) which will help find errors.

    <?php 
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    
    // rest of your code
    

    Sidenote: Error reporting should only be done in staging, and never production.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。