Вопрос по mysql_errno в PHP
В PHP существуют 2 функции: mysql_errno и mysql_error. Одна возвращает код, а другая текст ошибки при вызове последней функции, работающей с MySQL. А вопросы собственно такие: существует ли в общем списке ошибок окно, для определения собственных ошибок более высокого уровня и можно ли где-то посмотреть полный список ошибок?
Ошибки можно посмотреть в мане MySQL. Что значит свои ошибки?
Номера сообщений об ошибках удалось найти в дистрибутиве MySQL в файлах errmsg.h (2000 - 2999) и mysqld_error.h (1000 - 1474) папки include.
Может кто знает, какие еще диапазоны кодов ошибок использовать не стоит?
Код:
class Mysql_Exception extends Exception
{
private $mysqlErrorList;
private $mysqlErrnoList;
private $myErrorList;
private $myErrnoList;
public function getError()
{
//Если есть ошибка, то возвращаем своё сопоставление.
//То же самое делаем для errno
}
}
class Mysql_Query
{
public function query($sql)
{
$result = mysql_query($sql);
if(mysql_error()) {
throw new Mysql_Exception(); //Можно передать ошибку. Если не передавать, то через тот же mysql_error() мы получим в exception
}
}
}
$sql = "SELECT * FROM exemple";
$mq = new Mysql_Query();
try {
$mq->query($sql);
} catch (Mysql_Exception $me) {
echo $me->getError();
}
{
private $mysqlErrorList;
private $mysqlErrnoList;
private $myErrorList;
private $myErrnoList;
public function getError()
{
//Если есть ошибка, то возвращаем своё сопоставление.
//То же самое делаем для errno
}
}
class Mysql_Query
{
public function query($sql)
{
$result = mysql_query($sql);
if(mysql_error()) {
throw new Mysql_Exception(); //Можно передать ошибку. Если не передавать, то через тот же mysql_error() мы получим в exception
}
}
}
$sql = "SELECT * FROM exemple";
$mq = new Mysql_Query();
try {
$mq->query($sql);
} catch (Mysql_Exception $me) {
echo $me->getError();
}
Общая идей понятна?
Конечно понятна. Только вот очень не хочется переопределять стандартные сообщения об ошибках.
Код:
public function getMyError();
public function getMysqlError();
public function getMyErrno();
public function getMysqlErrno();
public function getMysqlError();
public function getMyErrno();
public function getMysqlErrno();
:)
public function getError();
public function getErrno();
Код ошибки анализируется скриптом в браузере клиента.
Код:
......
} catch(Mysql_Exception $me) {
error_log($me->getMysqlError());
echo $me->getMyError();
}
} catch(Mysql_Exception $me) {
error_log($me->getMysqlError());
echo $me->getMyError();
}
В данном случае ты хоть мух от котлет отделишь.