php PDO有时不会将数据插入表中

时间:2017-05-04 07:03:43

标签: php mysql pdo

这不是重复的问题。
不同的是来自其他问题:
- 我的情况是,它有效 没有任何例外。
我想知道我需要检查哪个部分。

我的开发环境如下: - php7 - MySQL5.7

对于php中的sql进程,我使用PDO。

以下是源代码片段。

    $this->conn = new PDO('mysql:host='. $server. ';dbname='. $database, $username, $password);
    $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $this->conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $this->conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

    try {
        $this->conn->beginTransaction();

        $total_amt = 100;
        $sql = "INSERT INTO test_table (total_amt)"
           ."           VALUES (:total_amt)";
        $stmt_test = $this->conn->prepare($sql);
        $stmt_test->bindParam (':total_amt', $total_amt, PDO::PARAM_INT);
        $stmt_test->execute();

        $inserted_id = $this->conn->lastInsertId();

        $this->conn->commit();
    } catch (PDOException $ex) {
        $this->conn->rollBack();
        exit();
    } catch (Exception $e) {
        $this->conn->rollBack();
        exit();
    } finally {
        $closeDB(); // this is a function to close database connection
    }

主要插入数据,但有时未插入数据。
我的问题是......当它有时不起作用时,我需要检查哪一部分?

我登录了'try'语句和'catch'语句并且insert语句运行了,我也得到了'inserted_id',没有例外。

然而,当我检查表中的数据时,没有数据。
如果它总是发生,我会理解,但有时会发生。

我是php的新手,如果有人知道原因,请告诉我。

0 个答案:

没有答案