
14.07.2007
my_bool mysql_change_user(MYSQL *mysql, const char *user, const
char *password, const char *db)
8.4.3.7 Описание
Изменяет пользователя и устанавливает базу данных, указанную в аргументе
в качестве текущей по базы данных для соединения, заданного в аргументе
. В последующих запросах эта база данных является текущей по
умолчанию для табличных ссылок, которые не содержат явного указателя базы
данных.
Эта функция была введена в версию MySQL 3.23.3.
не выполняется, если подключенный пользователь
не может быть аутентифицирован или если он не имеет разрешения на
использование этой базы данных. В таком случае данный пользователь и база
данных не изменяются.
, если база данных по умолчанию не
нужна.
8.4.3.8 Возвращаемые значения
Нуль при успешном выполнении. Ненулевая величина, если возникла ошибка.
8.4.3.9 Ошибки
Те же, что и для
.
Команды были выполнены в ненадлежащем порядке.
Сервер MySQL неожиданно завершил работу.
Соединение с сервером прервалось в процессе данного запроса.
Произошла неизвестная ошибка.
Сервер MySQL не обеспечивает выполнение этой команды (возможно, старая
версия сервера)
Пользователь или пароль ошибочны.
Данная база данных не существует.
Данный пользователь не имеет прав доступа к этой базе данных.
Имя базы данных было слишком длинным.
8.4.3.10 Пример
if (mysql_change_user(&mysql, "user", "password", "new_database"))
{
fprintf(stderr, "Failed to change user. Error: %s\n",
mysql_error(&mysql));
}
Рубрики: Без рубрики |

14.07.2007
8.4.3.47 Описание
Данная функция не рекомендуется. Вместо нее можно использовать функции
.
определяет, была ли данная строка последней из
прочитанных в результирующем наборе данных.
, то данный клиент получает полный набор данных за
одну операцию. В этом случае возврат
всегда
означает, что достигнут конец результирующего набора и нет необходимости в
вызове функции
. При использовании совместно с
.
С другой стороны, при использовании
для инициализации
извлечения результирующего набора, клиент получает строки набора с сервера
поочередно при повторных вызовах функции
. Поскольку в
этом процессе может возникнуть ошибка в соединении,
, полученный от
, не всегда означает что конец результата был достигнут
корректно. В этом случае вы можете использовать
, чтобы
выяснить, что же случилось.
вернет ненулевую величину, если
конец результирующего набора был достигнут, и нуль, если произошла ошибка.
Исторически сложилось так, что
. Поскольку эти функции дают одну и ту же информацию, их
использование более предпочтительно чем
, которая сейчас
выведена из употребления (в действительности они предоставляют еще больше
информации, т.к.
возвращает только булево значение, в то время
как функции обработки ошибок сообщают причину, по которой ошибка
произошла).
8.4.3.48 Возвращаемые значения
Нуль, если ошибок не произошло. Ненулевая величина, если конец
результирующего набора данных достигнут.
8.4.3.49 Ошибки
Никаких.
8.4.3.50 Пример
mysql_query(&mysql,"SELECT * FROM some_table");
result = mysql_use_result(&mysql);
while((row = mysql_fetch_row(result)))
{
// делаем что-то с данными
}
if(!mysql_eof(result)) // mysql_fetch_row() сбойнул из-за ошибки
{
fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
}
mysql_query(&mysql,"SELECT * FROM some_table");
result = mysql_use_result(&mysql);
while((row = mysql_fetch_row(result)))
{
// что-то делаем с данными
}
if(mysql_errno(&mysql)) // mysql_fetch_row() сбойнул из-за ошибки
{
fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
}
Рубрики: Без рубрики |