32.4. Функции возврата сообщений
Функции, которые будут рассмотрены, позволяют осуществлять возврат каких-либо значений, вплоть до вывода ошибки:
• mysql_field_len(),
• mysql_error(),
• mysql_errno().
Функция mysql_field_len() возвращает длину указанного поля. Ее синтаксис:
int mysql_field_len(int result, int field_offset)
Функция возвращает целое число. Например:
<?php
mysql_connect("localhost:3306");
mysql_select_db ("Wisconsin");
$result = mysql_query("SELECT * FROM onek");
echo "Поле имеет следующую длину" <br>";
$len = mysql_field_len($result, $i);
echo $len." <br>";
mysql_close();
?>
В результате выполнения данного скрипта получится длина поля. Функция mysql_field_len() работает 3 и РНР 4.
Если предыдущая операция при использовании какой-либо функции вызвала ошибку, то, чтобы вывести эту ошибку, необходимо воспользоваться функцией mysql_error(). Ее синтаксис:
string mysql_error([int link_identifier])
Функция выводит сообщение об ошибке, если ошибку вернула последняя вызванная функция MySQL. В противном случае возвращает пустую строку.
Ошибки, приходящие из базы данных MySQL, впоследствии не проявляются. Чтобы отыскать текст ошибки, необходимо воспользоваться функцией mysql_error(). Обратите внимание, что эта фикция только возвращает текст ошибки от недавно выполненной функции MySQL (не включая функции mysql__error() и mysql_errno(), поэтому если вы хотите использовать это свойство, убедитесь в том, что вы проверили значение, прежде чем произойдет вызов следующей функции MySQL. Например:
<?php
mysql_connect("marliesle");
echo mysql_errno() . " : ".mysql_error() ."<br>";
mysql_select_db("none existent db");
echo mysql_errno().": ".mysql_error()."<br>";
$conn = mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno().": ".mysql_error()."<br>";
?>
Как видно из примера, чтобы обнаружить ошибку и получить текст этой ошибки, необходимо после каждой функции MySQL устанавливать функцию получения ошибки, иначе эта ошибка будет перекрыта другими функциями.
Функция mysql_error() работает в РНР 3 и РНР 4.
Функция mysql_errno() позволяет возвратить численное значение сообщения об ошибках от предыдущей операции MySQL. Его синтаксис:
int mysql_errno([int link_identifier])
В качестве параметра link_identifier может быть указан идентификатор связи, хотя очень часто данная функция используется без каких-либо параметров. В этом случае будет установлен параметр имеющегося соединения.
Функция mysql_errno() возвращает номер ошибки предшествующей функции MySQL или значение, равное нулю, если ошибка не произошла.
Функция mysql_errno() используется в РНР 3 и РНР 4.