Skip to content

Instantly share code, notes, and snippets.

@DavidBruchmann
Forked from alexsegura/gist:9895452
Last active January 28, 2022 18:10
Show Gist options
  • Save DavidBruchmann/598fc0ebe92efd6f18a7cf6bfbaf7e96 to your computer and use it in GitHub Desktop.
Save DavidBruchmann/598fc0ebe92efd6f18a7cf6bfbaf7e96 to your computer and use it in GitHub Desktop.
Get MySQL error code with Doctrine DBAL
<?php
protected function executeQueryBuilder($queryBuilder, string $debugHeader)
{
$resource = null;
try {
$resource = $queryBuilder->execute();
} catch (\Doctrine\DBAL\DBALException $e) {
$previous = $e->getPrevious();
if ($previous instanceof \Doctrine\DBAL\Driver\Mysqli\MysqliException) {
// $errorCode contains MySQL error code (ex: 1062 for a duplicate entry)
$errorCode = $previous->getCode();
$errorMsg = $previous->getMessage();
# DebuggerUtility::var_dump(['$queryBuilder' => $queryBuilder, '$errorCode' => $errorCode, '$errorMsg' => $errorMsg], $debugHeader);
var_dump([$debugHeader, '$errorCode' => $errorCode, '$errorMsg' => $errorMsg]);
}
}
return $resource;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment