Glaskugelzeit oder doch erklärbar
SteBu
- php
0 Andreas Dölling0 dedlfix0 dedlfix0 Louis
Moin,
langsam drehe ich hier durch. Ich finde für folgendes Phänomen keine Erklärung geschweige denn eine Lösung.
In der Datei index.php wird mittels include() die Datei functions.php aus dem Unterordner inc eingebunden. Das, damit ich auf eine Fkt. die in functions.php notiert ist zugreifen kann.
In der Datei functions.php wird die Datei db.inc.php includiert. Dort sind die 4 Variablen für den Zugriff auf die DB notiert also:
$sServer = "localhost";
$sDb = "datenbankname";
$sUser = "username";
$sPwd = "ganz_geheim";
In besagter Fkt.
Sieht es dann so aus.
$link = mysql_connect($sServer,$sUser,$sPwd);
if(!$link)die("Server nicht gefunden.");
$mydb = mysql_select_db($sDb,$link);
if(!$mydb)die("DB nicht gefunden.");
Nur leider klappt hier nur der mysql_connect. Nicht mehr klappen tut mysql_select_db. Es scheint so, als würde die Variable $sDb nicht gefunden, denn so klappt es.
$link = mysql_connect($sServer,$sUser,$sPwd);
if(!$link)die("Server nicht gefunden.");
$sDb= "username";
$mydb = mysql_select_db($sDb,$link);
if(!$mydb)die("DB nicht gefunden.");
Gibt es eine Erklärung dafür, dass nur 3 von 4 Variablen gefunden werden? Oder habe ich bloss nen simplem Tippfehler drinn den ich nicht sehe?
Achja, noch mal die Struktur zur Übersicht.
index.php//includiert "inc/functions.php"
|_inc//Verzeichnis
|_db.inc.php //die 4 Variablen
|_functions.php //includiert db.inc.php
Gruß
SteBu
Hallo,
wie sehen denn Deine include-Anweisungen aus? Bzw.: bist Du sicher, daß die benötigten Dateien tatsächlich eingebunden werden?
Vielleicht ist das Problem schon gelöst, wenn Du absolute Pfade für die include-Anweisungen nutzt.
Ciao,
Andreas
Moin,
wie sehen denn Deine include-Anweisungen aus? Bzw.: bist Du sicher, daß die benötigten Dateien tatsächlich eingebunden werden?
Bin ich mir, das der Connect ja klappt.
Ste
Hello,
wie sehen denn Deine include-Anweisungen aus? Bzw.: bist Du sicher, daß die benötigten Dateien tatsächlich eingebunden werden?
Bin ich mir, das der Connect ja klappt.
Dedlfix hat Dir zwei Teile der Lösung ja schon geliefert.
Aber nun interessiert es mich noch, welche Maßnahmen Du für die Fehlersuche ergriffen hattest?
Wenn man sich nicht zu helfen weiß, _wie_ man Fehler finden kann, wird man auch immer wieder welche machen. Also erzähl uns doch mal Deine Debugging-Stategie:
;-)
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom
echo $begrüßung;
Gibt es eine Erklärung dafür, dass nur 3 von 4 Variablen gefunden werden?
PHP findet gar keine der Variablen. mysql_connect() nimmt dann Kontakt zum mit mysql.default_host konfigurierten Server auf und meldet sich ohne Kennung an.
Schalte bitte zum Entwickeln das error_reporting auf E_ALL und lies das Handbuchkapitel Variable scope.
echo "$verabschiedung $name";
Moin,
PHP findet gar keine der Variablen. mysql_connect() nimmt dann Kontakt zum mit mysql.default_host konfigurierten Server auf und meldet sich ohne Kennung an.
Danke, das wars.
Hello,
PHP findet gar keine der Variablen. mysql_connect() nimmt dann Kontakt zum mit mysql.default_host konfigurierten Server auf und meldet sich ohne Kennung an.
Danke, das wars.
Und weißt Du auch, warum PHP die Variablen nicht findet?
Wie hätte man das denn (wenigstens während der Entwicklung) frühzeitig erkennen können?
Hätte da vielleicht ein "error_reporting(E_ALL);" am Anfang des Scriptes helfen können?
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom
echo $begrüßung;
P.S.:
Nachdem du das Handbuchkapitel gelesen und verstanden hast...
In der Datei functions.php wird die Datei db.inc.php includiert. Dort sind die 4 Variablen für den Zugriff auf die DB notiert also:
Verwende doch Konstanten statt Variablen, die sind zum einen immer global verfügbar und zum anderen sind Konstanten die bessere Wahl, da diese Werte während der Scriptlaufzeit (wahrscheinlich) sowieso konstant bleiben, .
echo "$verabschiedung $name";
Hallo
$sServer = "localhost";
$sDb = "datenbankname";
$sUser = "username";
$sPwd = "ganz_geheim";
$link = mysql_connect($sServer,$sUser,$sPwd);
if(!$link)die("Server nicht gefunden.");
$sDb= "username"; (*)
$mydb = mysql_select_db($sDb,$link);
if(!$mydb)die("DB nicht gefunden.");
(Ich gehe mal davon aus, dass das bei (*) ein Tippfehler ist und sollte heissen $sDb = "datenbankname";)
Was hast Du alles schon getestet? Ich wuerde mal ganz bloed in functions.php mit echo alle vier Variablen ausspucken. Dann weisst Du schon mal, ob die dort richtig ankommen...
Dann weisst schon mal in welche Richtung Du weiter suchen musst...
Gruss
Louis