重复条目。检查唯一约束或主键。
你的PHP应用在使用PDO连接MySQL时遇到了重复键错误:
'pdo_code' => '23000',
'db_code' => 1062,
'db_error' => 'Duplicate entry 'value' for key 'key_name''
$sql = "INSERT IGNORE INTO users (username, email) VALUES (?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$username, $email]);
$affectedRows = $stmt->rowCount();
$sql = "INSERT INTO users (username, email, last_login) "
. "VALUES (?, ?, NOW()) "
. "ON DUPLICATE KEY UPDATE last_login = NOW()";
$stmt = $pdo->prepare($sql);
$stmt->execute([$username, $email]);
$checkSql = "SELECT COUNT(*) FROM users WHERE username = ?";
$checkStmt = $pdo->prepare($checkSql);
$checkStmt->execute([$username]);
$exists = $checkStmt->fetchColumn() > 0;
if (!$exists) {
$insertSql = "INSERT INTO users (username, email) VALUES (?, ?)";
$insertStmt = $pdo->prepare($insertSql);
$insertStmt->execute([$username, $email]);
} else {
error_log("用户 {$username} 已存在");
}