solodkiy/mysql-error-parser

Parsing MySQL error messages to structured format

0.1.5 2019-08-26 10:37 UTC

This package is auto-updated.

Last update: 2024-11-07 20:10:56 UTC


README

This lib provides regex patterns for all mysql server errors from version 5.5 to 8.0.
It can be used for extracting detailed information from your mysql errors and future analisys.

Usage example

$connect = new \mysqli('localhost', 'root', '');
$result = $connect->query('select * from db.unknown_table');
if (!$result) {
    $parser = new \Solodkiy\MysqlErrorsParser\PatternMatcher();
    $structuredError = $parser->matchError($connect->errno, $connect->error);
    var_dump(
        $connect->error, 
        $structuredError->getTemplate(), 
        $structuredError->getParams()
    );
}

Result

string(38) "Table 'db.unknown_table' doesn't exist"
string(34) "Table '{db}.{table}' doesn't exist"
array(2) {
  'db' => string(2) "db"
  'table' => string(13) "unknown_table"
}

Install

composer require solodkiy/mysql-error-parser