查询期间丢失与MySQL服务器的连接。
你的PHP应用在使用PDO连接MySQL时遇到了连接丢失问题:
'pdo_code' => 'HY000',
'db_code' => 2013,
'db_error' => 'Lost connection to MySQL server during query'
$dbConfig = [
'host' => 'localhost',
'dbname' => 'your_database',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8mb4'
];
function createConnection($config) {
$maxRetries = 3;
$retryCount = 0;
while ($retryCount < $maxRetries) {
try {
$dsn = "mysql:host={$config['host']};dbname={$config['dbname']};charset={$config['charset']}";
$pdo = new PDO($dsn, $config['username'], $config['password']);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
} catch (PDOException $e) {
$retryCount++;
sleep(1);
}
}
throw new Exception("无法连接到数据库服务器");
}
function executeQuery($pdo, $sql, $params = []) {
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return $stmt;
} catch (PDOException $e) {
if ($e->getCode() == 'HY000' &&
strpos($e->getMessage(), 'Lost connection') !== false) {
$pdo = createConnection($GLOBALS['dbConfig']);
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return $stmt;
} else {
throw $e;
}
}
}