|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Когда ошибка происходит в MySQL, сервер возвращает два типа ошибочных значений:
Специфичный для MySQL код ошибки. Это значение является числовым. Это не переносимо на другие системы баз данных.
Значение SQLSTATE. Значение является пятисимвольной строкой (например, '42S02'). Значения принимаются от ANSI SQL и ODBC и более стандартизируются.
Строка сообщения, которая обеспечивает текстовое описание ошибки, также доступна.
Когда ошибка происходит, код ошибки MySQL, значение SQLSTATE, и строка сообщения является доступным использованием C API-функции:
Код ошибки MySQL: Вызвать mysql_errno()
Значение SQLSTATE: Вызвать mysql_sqlstate()
Сообщение об ошибке: Вызвать mysql_error()
Для готовых операторов соответствующие функции ошибок mysql_stmt_errno(), mysql_stmt_sqlstate(), и mysql_stmt_error(). Все функции ошибок описываются в Разделе
21.8, "API MySQL C".
Число ошибок, предупреждений, и примечаний для предыдущего оператора может быть получено, вызывая mysql_warning_count(). См. Раздел
21.8.7.73,"mysql_warning_count()".
Первые два символа значения SQLSTATE указывают на ошибку class:
Класс = '00' указывает на успех.
Класс = '01' указывает на предупреждение.
Класс = '02' указывает "не найденный." Это релевантно в пределах контекста курсоров и
используется, чтобы управлять тем, что происходит, когда курсор достигает конца набора данных. Это
условие также происходит для SELECT ... INTO
операторы, которые не получают строк. var_list
Класс> '02' указывает на исключение.