Вы можете попробовать написать некоторые базовые функции базы данных, например, существующие () и другие, для которых вы можете передать пользовательскую строку ошибки.Примерно так:
<?php
class DB {
private $_instance;
public function __construct() {
$this->_instance = new MySQLI('server','username','password','database');
}
public function exists($sql, $msg) {
$result = $this->_instance->query($sql);
if ($result->num_rows > 0) {
throw new FrontDBException($msg);
}
return false;
}
}
class FrontDBException extends Exception {
public function __toString() {
echo($this->getMessage());
}
}
$db = new DB();
try {
$db->exists('SELECT id FROM users WHERE username="' . $username . "'",
'Username is already taken.');
} catch(FrontDBException $e) {
echo($e);
}
?>
Но вы не можете предсказать поступающие ошибки, когда вы просто выполняете базовые запросы, вам нужно как-то обернуть их в определенные функции.