/[LeafOK_CVS]/lbbs/src/database.c
ViewVC logotype

Contents of /lbbs/src/database.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17 - (show annotations)
Wed Jul 2 04:17:33 2025 UTC (8 months, 2 weeks ago) by sysadm
Branch: MAIN
Changes since 1.16: +1 -1 lines
Content type: text/x-csrc
Support UTF8 instead of GBK

1 /***************************************************************************
2 database.c - description
3 -------------------
4 Copyright : (C) 2004-2025 by Leaflet
5 Email : leaflet@leafok.com
6 ***************************************************************************/
7
8 /***************************************************************************
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 3 of the License, or *
13 * (at your option) any later version. *
14 * *
15 ***************************************************************************/
16
17 #include "common.h"
18 #include "database.h"
19 #include "log.h"
20 #include <stdio.h>
21 #include <mysql/mysql.h>
22
23 // Global declaration for database
24 char DB_host[256];
25 char DB_username[50];
26 char DB_password[50];
27 char DB_database[50];
28 char DB_timezone[50];
29
30 MYSQL *db_open()
31 {
32 MYSQL *db = NULL;
33 char sql[SQL_BUFFER_LEN];
34
35 db = mysql_init(NULL);
36 if (db == NULL)
37 {
38 log_error("mysql_init() failed\n");
39 return NULL;
40 }
41
42 if (mysql_real_connect(db, DB_host, DB_username, DB_password, DB_database,
43 0, NULL, 0) == NULL)
44 {
45 log_error("mysql_real_connect() error: %s\n", mysql_error(db));
46 mysql_close(db);
47 return NULL;
48 }
49
50 if (mysql_set_character_set(db, "utf8") != 0)
51 {
52 log_error("Set character set error: %s\n", mysql_error(db));
53 mysql_close(db);
54 return NULL;
55 }
56
57 snprintf(sql, sizeof(sql),
58 "SET time_zone = '%s'",
59 DB_timezone);
60
61 if (mysql_query(db, sql) != 0)
62 {
63 log_error("Set timezone error: %s\n", mysql_error(db));
64 mysql_close(db);
65 return NULL;
66 }
67
68 return db;
69 }

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1