powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / испоьзование в UDF данных с сервера
1 сообщений из 1, страница 1 из 1
испоьзование в UDF данных с сервера
    #32091163
mad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не могу разобраться. Помогите, пожалуйста. При вызове 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
1 сообщений из 1, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / испоьзование в UDF данных с сервера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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