Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / испоьзование в UDF данных с сервера / 1 сообщений из 1, страница 1 из 1
15.01.2003, 14:28
    #32091163
mad
mad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
испоьзование в UDF данных с сервера
не могу разобраться. Помогите, пожалуйста. При вызове UDF соединение с сервером теряется.
Как вообще данные с сервака в UDF использовать?

Упс... И вообще сервак падает. Где я его роняю?

Вот мой код, ткните меня в ошибку, пожалуйста ;))

Спасибо.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
extern  "C" {
  double ist_price_ip(UDF_INIT *initid, UDF_ARGS *args,
                            char*result, unsigned long *res_length, 
                            char *null_value, char *error);      
} 

my_bool ist_price_ip_init(UDF_INIT *initid, UDF_ARGS *args, char* message)      {                             
  if((args->arg_count >  1 ) || (args->arg_type[ 0 ] != REAL_RESULT))
  {
    strcpy(message, "Wrong arguments to ist_price_ip!" );
    return( 1 );
  }
  MYSQL *conn;
  conn = mysql_init(NULL);
  if(!conn)
    return( 1 );
  if(!mysql_real_connect(conn, HOST_NAME, USER_NAME, 
                                USER_PASSWORD, DB_NAME,  0 ,NULL, 0 )) 
      return( 1 );
  if(mysql_select_db(conn,DB_NAME))
      return( 1 ); 
  initid->max_length =  8 ;
  initid->decimals =  2 ;
  initid->ptr = (char*)conn;
    return  0 ;          
}
double ist_price_ip(UDF_INIT *initid, UDF_ARGS *args, char *result,
                         unsigned long *res_length, char *null_value, char *error)
{
  MYSQL* conn = (MYSQL*)initid->ptr;
  MYSQL_RES* myresult;
  MYSQL_ROW row;
  double dTemp;
  string query =  "SELECT fkey FROM ClientDB.TLogin WHERE flogin='mad'" ;
  mysql_query(conn,query.c_str());
  myresult = mysql_store_result(conn);
  if(row = mysql_fetch_row(myresult))
  {
    dTemp = static_cast<double>(atoi(row[ 0 ]));
  }
  mysql_free_result(myresult);
  return (dTemp);
}                                                                                                              

void ist_price_ip_deinit(UDF_INIT *initid)
{
  mysql_close((MYSQL*)initid->ptr);
}
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / испоьзование в UDF данных с сервера / 1 сообщений из 1, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]