我一直在寻找,在其他问题相同,并不能找出为什么我的查询不会像它应该。PDO lastInsertId()返回0
我的查询:
$stmt = db()->prepare("INSERT INTO conversations (user1, user2) VALUES (?, ?)");
$stmt->execute(array($_SESSION['user']['userId'], $user));
echo db()->lastInsertId();
当我做到这一点,lastInsertId();保持返回0。
我的DB()函数:
function db()
{
$dsn = 'mysql:host=localhost;dbname=message_board';
$username = 'root';
$password = 'root';
try {
$db = new PDO($dsn, $username, $password);
} catch(PDOException $e) {
// exceptions handles here
}
return $db;
}
您正在每次调用一次新的'PDO'对象'分贝()'。只要检查它是否已经存在。 –