Не удается подключиться к серверу mysql с помощью mysql_real_connect ()

#c #mysql

#c #mysql

Вопрос:

Я не могу подключиться к удаленному серверу MySQL с помощью этого кода:

 MYSQL conn;
bool con_to_db()
{
     conn = mysql_init(0);
     conn =mysql_real_connect(conn, host, user, pass, 0, NULL, 0);
     if(conn)
        //cout<<"connection to atestat databse successful "<<endl;
        return true;
     else
       // cout<<"connection problem: "<<mysql_error(conn)<<endl;
       return false;
}

int main()
{
   if(con_to_db())
     cout<<"connection to atestat databse successful "<<endl;
   else 
      cout<<"connection problem: "<<mysql_error(conn)<<endl;
}
  

после выполнения этого кода в консоли появляется сообщение:

сбой соединения

Комментарии:

1. Можете ли вы подключиться с помощью другого инструмента с того же компьютера? Это будет указывать, связана ли проблема с кодом или с настройкой. Есть ли что-нибудь в консоли после текста «сбой соединения»?

2. Я предлагаю вам сначала скомпилировать свой код с предупреждениями и исправить эти предупреждения. Большинство предупреждений на самом деле являются ошибками, которые не позволяют вашему коду работать правильно.

3. @JasonAller после текста «сбой соединения» ничего не появляется

4. @Ferrybig не показывает мне предупреждения в журнале сборки

Ответ №1:

В первой строке вашего кода MYSQL conn . Это прототип mysql_real_connect:

 MYSQL * mysql_real_connect(MYSQL * mysql,
                       const char * host,
                       const char * user,
                       const char * passwd,
                       const char * db,
                       unsigned int port,
                       const char * unix_socket,
                       unsigned long flags); 
  

conn должен быть указатель.

Комментарии:

1. В моем проекте я объявил conn по указателю, но не подключаюсь к серверу

2. На локальном сервере это работает, но на удаленном сервере не подключается

3. Я не понимаю, почему

4. Это потому, что вы пропустили пятый параметр — имя вашей базы данных, к которой вы хотите подключиться.

5. что именно я пропустил в пятом аргументе?