我希望在成功插入时获得最后插入的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";
}
我感谢每个人的帮助。