php pdo在mysql插入后返回lastinsertId

时间:2016-02-16 03:25:05

标签: php

我希望在成功插入时获得最后插入的id。我看了一遍,似乎无法找到答案。我有一个准备好的语句,正确插入并返回lastinsertId,如果我回声。我想返回lastID并在方法之外使用它。

              public function insertFoul() {

            $conn = parent::connect();
            $sql = "INSERT INTO " . TBL_FOULS . " (
                      qtr,
                      f_time,
                      team,
                      foul
                    ) VALUES (
                      :qtr,
                      :f_time,
                      :team,
                      :foul
                    )";
                    try {
              $st = $conn->prepare( $sql );
              $st->bindValue( ":qtr", $this->data["qtr"], PDO::PARAM_STR );
              $st->bindValue( ":f_time", $this->data["f_time"], PDO::PARAM_STR );
              $st->bindValue( ":team", $this->data["team"], PDO::PARAM_STR );
              $st->bindValue( ":foul", $this->data["foul"], PDO::PARAM_STR );

             if($st->execute()){
                  $lastID = $conn->lastInsertId();
              }
              echo $lastID;
              return $lastID;

            } catch ( PDOException $e ) {
              parent::disconnect( $conn );
              die( "Query failed: " . $e->getMessage() );
            }
          }

然后我有一个调用该方法的php文件。我想得到$ lastID并将其用作变量。

PHP文件:

if($foul->insertFoul()){
    $newId = $lastID;
}else{
    echo "No ID";
}

我感谢每个人的帮助。

0 个答案:

没有答案