• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mysql_connect beendet PHP-Skript?

Mordred

Neues Mitglied
Hallo,
Ich habe folgendes Problem:
Ein Aufruf von "mysql_connect" bricht mein PHP-Skript einfach ab, ohne Fehlermeldung, basta.
Und ich habe keine Ahnung, warum.

Die Startseite meiner Webseite sieht folgendermaßen aus:
PHP:
<?php
 include "cgi-bin/control.php";
 include "cgi-bin/dbconnect.php";
 include "cgi-bin/client.php";
...

Alle Dateien existieren, alle sind richtig benannt. control.php ist noch leer und dbconnect enthält folgendes:
PHP:
<?php
 if ($mconn = mysql_connect("localhost","benutzer","passwort")) {
  mysql_select_db("datenbank",$mconn);
 } else {
  echo '<font color="#f00" >Ein Fehler ist aufgetreten.</font>';
  exit;
 }
?>
Benutzername, Passwort, Datenbank und Server stimmen ebenfalls, mit PHPMyAdmin klappts jedenfalls. Und mit der identischen dbconnect.php-Datei in anderen Subdomains ebenfalls.

Frage: Warum nicht hier? Egal wohin ich den Aufruf stelle, er bricht ab seinem Standort die Ausgabe ab.
Weiß jemand Rat?
Ich habe sogar die Subdomain geändert, ebenfalls die Dateinamen und Variablennamen - jetzt fällt mir nichts mehr ein!
Danke für alle, die Antworten.
LG
 
Formulier die Verbindungsaufnahme mal so wie im Manual Beispiel #1 beschrieben:
PHP: mysql_connect - Manual

Ich bin mir nämlich nicht sicher, ob diese Zuweisung zu $mconn innerhalb einer if-Bedingung richtig verarbeitet werden würde. Wenn die Verbindung tatsächlich fehlschlägt, dann wird die restliche Seite wg. dem "exit;" nicht angezeigt. "exit" beendet die Ausgabe der Seite komplett ohne den weiteren PHP- und/oder HTML-Code zu berücksichtigen.
 
Ich würde das mal anders machen, dass du siehst wo du rausfliegst und warum

PHP:
$mconn = mysql_connect("localhost","benutzer","passwort");
if (!$mconn) { die ("Connect-Error: " . . mysql_error() ); }
$result = mysql_select_db("datenbank",$mconn);
if (!$result) { die ("Select-Error: " . . mysql_error();) }
Bist du sicher, dass du auf die Datenbank kommst? Provider lassen normal den Zugriff nur aus dem Webspace zu, wenn du also vom Home-PC aus den Connect versuchst scheiterst am Firewall. Wenn du lokal bist, ist denn der Port offen (Firewall), Hast du statt Localhost mal versucht, die IP 127.0.0.1 zu verwenden?
 
Klar, das mache ich ja nicht zum ersten Mal, alle Zugriffe sind von meiner Webseite aus gestartet und sehr wahrscheinlich fehlerfrei. Die IP-Adresse hat übrigens auch nicht gewirkt. @NetAktiv: Der Aufruf von mysql_connect beendet das Skript, und alles dahinter wird weggelassen.

Ich werde wohl bei meinem Provider nachfragen müssen, danke für die Hilfsbereitschaft.
 
Gibt es keine Fehlermeldung? hast du mal $mconn ausgegeben? Hast mal versucht, den select ohne Connection aufzurufen, PHP verwaltet die Session ja auch intern. Macht es einen Unterschied, ob du deinen DB-Namen nimmst oder einen, der garantiert nicht existiert? Muss das Include sein, bei meinem Provider brauch ich das nicht, und am Ende mischst dann 2 inkompatible Libraries? Wenn das alles nicht weiter hilft, ab zum Provider :-).
 
Problem gelöst, es lag an etwas ganz anderem:
Per .htaccess werden .htm-Dateien ebenfalls nach PHP-Code geparst, klappt.
Aber die Datenbank nimmt diese Anfragen offensichtlich nicht entgegen,
denn wenn ich sie wieder zu .php-Dateien umbenenne, klappt alles fehlerfrei.
Danke für die Hilfsbereitschaft.
 
Das wundert mich aber. Ich parse auf diesem Weg auch .htm-Dateien bei einigen Projekten und habe nie mit Datenbankverbindungen Probleme gehabt. Durch die Festlegung, dass .htm über den PHP-Parser geschickt werden sollen, muss auch das PHP-MySQL-Modul starten?! Es sei denn auf diesem Weg wird eine andere PHP-Parser-Konfiguration ohne MySQL aufgerufen. Schau mal in die Error-Logs des Servers dazu - da sollte etwas drinne stehen.
 
Zurück
Oben