MySQL mit CGI

Also, ich habe mir den MySQL Server runtergeladen und dann installiert. Dann habe ich, da ich Dev C++ verwende, mir noch die libmysql.a und libmysql.dll runtergeladen. Den Link habe ich leider nicht mehr :( Wenn ich ein normales MySQL-Programm programmiere und es dann starten will, muss die libmysql.dll in dem gleichen Ordner liegen, damit ich das Programm ausführen kann.

Hat das damit etwas zu tun?
 
libmysql.a und .dll
Das wollte ich wissen, Link überflüssig.

Und ja, das mit dem gleichen Ordner wäre mein nächster Vorschlag gewesen :D

Wenn du schon so fragst, hast du die DLL derzeit also nicht drin?
Rein damit.
 
Das sollte der Compiler erledigen.
Man kann eine DLL zwar auch während der Laufzeit laden, ist aber vergleichsweise umständlich.
Wenn du schon mit der Lib kompilierst sollte das reichen.

Hmm...vllt. zwingt der Server sein Arbeitsverzeichnis rein...

Lass einmal das MYSQL-Zeug im Code weg (die DLL aber im Ordner lassen).

Dafür mit fopen versuchen, die DLL zu öffnen.
Wenn OK, irgendein printf, dass es funktioniert hat und wieder fclose.
Sonst eben ein anderes printf, dass es nicht funktioniert hat.

edit: Sowas statt dem MySQL-Code:
C++:
FILE *dat;
dat = fopen("libmysql.dll", "rb");
if(dat)
{
    printf("OK");
    fclose(dat);
}
else
    printf("Nein");
 
Ja, also ich hab die Datei ja nicht extra genannt, oder sowas, sie ist ja nur im selbem Ordner. Reicht das trotzdem?

So, und wenn ich die Datei öffne, klappt es auch :)

Also ich habe jetzt den Code:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>

int main(void){
    printf("Content-Type: text/html\n\n");
    FILE *fp = fopen("libmysql.dll", "r");
    if(fp == NULL)
      printf("Konnte Datei nicht öffnen!\n");
    else {
      printf("Datei libmysql.dll geöffnet!\n");
      fclose(fp);
    }
    
    return EXIT_SUCCESS;
}
 
Zum Einbinden: Ja, auch das mit dem Namen erledigt der Compiler.

Zum Code: Du solltest dir wirklich angewöhnen, offene Sachen wieder zu schließen.

Zum Problem: Derzeit keine Ideen mehr.
Hast du mal in die Logfiles vom Server geschaut?
 
Zurück