【问题标题】:PHP Insertion - UID is larger for first entryPHP 插入 - 第一次输入时 UID 较大
【发布时间】:2016-12-15 21:25:27
【问题描述】:

我正在通过 PHP 将 .csv 中的两行插入到表中。

我还会跟踪任何错误,如果发生错误,我不会提交交易。插入表后,我检索结果行的 ID(它们都在一个事务中提交),并且 csv 的第一行对应于第二个 ID。我也试过在不同的地方添加一个mysqli_commit,还是一样的问题

    $queryInsert = "INSERT INTO ".$table." VALUES(NULL,?,?,?,1,?)";
    if (!($stt= mysqli_prepare($con,$queryInsert))){
        die('Failed');
    }

    //some arbitrary data checking
    if ($cols[8] == 'No' || $cols[8] == 'N' || $cols[8] == '0'){
        $ref = 0;
    }else{
        $ref = 1;
    }

    mysqli_stmt_bind_param($stt,"ssii",$cols[6],$cols[7],$runUID,$ref);
    $in = mysqli_stmt_execute($stt);
    mysqli_stmt_close($stt);
    $uid = mysqli_insert_id($con);
    mysqli_commit($con);

    echo $uid;

如果上一行条目是284,输出是287和286(上次尝试插入285,失败,但ID无效以某种方式保留。所以它尝试插入286和287,但尝试插入287在 286 之前并再次失败)。第二行(ID 较低)插入得非常好,而较高的则不然。怎么回事?

【问题讨论】:

    标签: php mysql csv mysqli transactions


    【解决方案1】:

    问题是触发器正在反击条目。固定

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 2012-04-15
      • 2016-11-26
      • 2021-05-02
      • 1970-01-01
      • 2022-11-02
      相关资源
      最近更新 更多