MySQL mit CGI

yax

Erfahrenes Mitglied
Hallo, ich hab folgendes Problem:

Ich möchte gerne mit meiner CGI-Anwendung eine Verbindung zu MySQL erstellen, doch ich bekomme immer nur einen Serverfehler. Was mache ich falsch?

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

int main(void){
    printf("Content-Type: text/html\n\n");
    MYSQL *mysql = mysql_init(NULL);
    if(mysql == NULL) {
      printf("Fehler bei mysql_init()******\n");
      return EXIT_FAILURE;
    }
    if(mysql_real_connect(mysql, NULL, NULL, NULL, NULL, 0, NULL, 0) == NULL) {
      printf("Fehler bei mysql_real_connect()******\n");
      return EXIT_FAILURE;
    } else
      printf("Verbunden******\n");
    
    return EXIT_SUCCESS;
}


Ich hoffe mir kann jemand helfen :) Schonmal danke im vorraus :)

Gruß yax :)
 
Code:
Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist.

Fehlermeldung:
Premature end of script headers: verbindenTest.cgi

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 500

:)
 
Hi

welchen Fehler?
Funktioniert es, wenn nur irgendwas wie "Hallo Welt" ausgegeben wird?
Die MYSQL-Verbindung sollte auch wieder geschlossen werden.

edit: :eek: zwei Beiträge verpasst?
 
Was mir an dem Skript auffällt ist, das nirgendwo eine Serveradresse, oder ein Benutzername für den MySQL-Server angegeben ist.

Sonst würde ich vorschlagen du kommentierst Blockweise Code aus, bis der Fehler nicht mehr kommt. Dann sehen wir mal wo der Fehler auftritt.
 
Also, wenn ich HalloWelt ausgeben will, funktioniert es. Und wenn ich die Verbindung am Ende wieder schließe, ändert dies auch nichts.

Was meinst du mit zwei Beiträge verpasst?
 
Ich habe gerade mall alles bisauf die ersten 2 anweisungen in main() auskommentiert, und dies funktioniert schon nicht. Also denke ich, dass nicht auf die Funktionen Zugegriffen werden kann...
 
Hallo,

Dann nimm jetzt bitte mal den if (mysql_real_connect... Block raus, und versuchs dann.

Was meinst du mit zwei Beiträge verpasst?
Nur das er beim Posten zu langsam war.

Edit: Diesmal war ich zu langsam.

Edit2: Wenn du nur die erste Zeile drin hast gehts?
 
Wenn ich dieses Programm als cgi-Anwendung aufrufe, dann bekomme ich wieder den gleichen Fehler...

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

int main(void){
    printf("Content-Type: text/html\n\n");
    MYSQL *mysql = mysql_init(NULL);
    if(mysql == NULL) {
      printf("Fehler bei mysql_init()******\n");
      return EXIT_FAILURE;
    }
    /*if(mysql_real_connect(mysql, NULL, NULL, NULL, NULL, 0, NULL, 0) == NULL) {
      printf("Fehler bei mysql_real_connect()******\n");
      return EXIT_FAILURE;
    } else
      printf("Verbunden******\n");
    */
    mysql_close(mysql);
    return EXIT_SUCCESS;
}
 

Neue Beiträge

Zurück