dbi_conn_connect в libdbi не работает в c - PullRequest
0 голосов
/ 18 ноября 2011

Я пытаюсь выполнить следующий код с помощью команды gcc test.c -o test.o -ldbi.

#include <stdio.h>
#include <dbi/dbi.h>

int main() {
    dbi_conn conn;
    dbi_result result;

    double threshold = 4.333333;
    unsigned int idnumber;
    const char *fullname;

    dbi_initialize(NULL);
    conn = dbi_conn_new("mysql");

    dbi_conn_set_option(conn, "host", "localhost");
    dbi_conn_set_option(conn, "username", "root");
    dbi_conn_set_option(conn, "password", "root123");
    dbi_conn_set_option(conn, "dbname", "test");
    dbi_conn_set_option(conn, "encoding", "UTF-8");

    if (dbi_conn_connect(conn) < 0) {
        printf("Could not connect. Please check the option settings\n");
    }
    else {
        result = dbi_conn_queryf(conn, "SELECT id, name FROM users");

        if (result) {
                while (dbi_result_next_row(result)) {
                idnumber = dbi_result_get_uint(result, "id");
          fullname = dbi_result_get_string(result, "name");
          printf("%i. %s\n", idnumber, fullname);
        }
        dbi_result_free(result);
      }
      dbi_conn_close(conn);
    }

    dbi_shutdown();

    return 0;
}

У меня всегда есть только 'Could not connect. Please check the option setting s'.

Я могу подключить свою базу данных, используя следующую команду с паролем root123

mysql -h localhost -u root -p

И я могу использовать тестовую базу данных в командной строке.

Пожалуйста, помогите мне. Каковы возможные проблемы?

1 Ответ

0 голосов
/ 21 ноября 2011

Сработало после установки libdbd-mysql.Теперь я должен был установить следующие пакеты.

libdbd-mysql                   
libdbi0  
libdbi0-dev

Спасибо всем вам.

...