Запрос на mysql из модуля

Georg Tadeev god3000god at gmail.com
Wed Dec 17 14:58:25 MSK 2008


Пришлось переделать mod-access-key так чтоб он запрашивал доступ на URL в
базу.
Вот код

  MYSQL *conn;
  MYSQL_RES *res;
  MYSQL_ROW row;
  char *server = "localhost";
  char *user = "root";
  char *password = "123";
  char *database = "download";
  unsigned int retint;
  conn = mysql_init(NULL);
  if (!mysql_real_connect(conn, server, user, password, database, 0, NULL,
0)) {
     ngx_log_error(NGX_LOG_INFO, r->connection->log, 0, "Error:
%s\n",mysql_error(conn));
  };

  signed char *q_uri = (signed char *)r->unparsed_uri.data;
  sprintf(query, "SELECT COUNT(*) AS CNT FROM DOWNS WHERE URI =
RTRIM('%s')", q_uri);
  ngx_log_error(NGX_LOG_INFO, r->connection->log, 0, "EXECUTING: %s",query);
  if (mysql_query(conn, query)) {
     ngx_log_error(NGX_LOG_INFO, r->connection->log, 0, "Error:
%s",mysql_error(conn));
  };
  res = mysql_use_result(conn);
  row = mysql_fetch_row(res);

*Проблема:*
никак не удается взать резултат из базы в переменную.
*retint = (unsigned int)row[0];*
   mysql_free_result(res);
   mysql_close(conn);

чтоб потом сделать простои IF.

   if (retint > 0)
   {
       return NGX_OK;
   }
   else
   {
       return NGX_HTTP_FORBIDDEN;
   };
Все ето происходит на линуксе, пробовал и етот код работает на тестере (не
модуль, просто апликация пишет на stdout)

За любую помощь буду очень благодарен,
С уважением,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20081217/38f758cd/attachment.html>


More information about the nginx-ru mailing list