我无法从pdo连接获取最后一个插入ID,它总是返回0.我没有解决方案请帮助我。 my function getConnection();PDO :: last插入ID总是返回0使用MYSQL并准备语句
function getConnection(){
$servername="localhost";
$username="mmjadmin";
$password="gfam";
try{
$conn = new PDO("mysql:host=$servername;dbname=mmjdb",$username,$password);
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
return $conn;
}catch(PDOException $e){
echo "Connect to database fail " . $e->getMessage();
}}
我调用这个函数来对其他功能做数据插入到
function insertUser($username,$password){
$sql = "INSERT INTO T_Users(
username,
password,
regist_date,
update_date)
VALUES(
:username,
:password,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP)";
$stmt = getConnection()->prepare($sql);
$stmt->bindParam(':username',$username);
$stmt->bindParam(':password',$password);
$stmt->execute();
$userid = getConnection()->lastInsertId();
}
我不能让我插入的用户ID是自动增量的最后一个用户ID,它总是返回0。
它现在工作,令人难以置信的是,这样做。你能解释我吗?因为它看起来像你的代码和我的代码一样。 –
我在答案中解释了它。不要多次调用'getConnection()'。如果有帮助,请接受我的回答:stackoverflow.com/help/someone-answers –