Veröffentlicht 5. Januar 200520 j Hallo, ich versuch im moment ein programm mit php und mysql zu schreiben. Damit meine Index.php zur Datenbank connecten kann hab ich mir das mit klassen gedacht, damit das schneller läuft. die index.php sucht in der mysql_db.php nach den verbindungsdaten und connected. Doch die mysql_db.php muss die server-daten usw zuerst aus einer Textdatei lesen (ich bin anfänger). Wenn ich dann die index.php starte kommt folgender Fehler: 'Parse error: parse error, unexpected '(', expecting ',' or ';' in D:\apach...\mysql_db.php on line 11' hier noch die ersten zeilen der quelltexte von mysql_db.php: 'class mysql_db { //Die Datei DB-info.txt wird ausgelesen var $fp = "DB-info.txt"; (line 11 -->) var $datei = fopen($fp, "r"); var $angebot = file("DB-info.txt"); var $num = 0; while($num < count($angebot)) { $dat = explode("|", $angebot[$num]); $num ++; } //Ende des auslesens var $link = false; var $resid = false; var $doerror = true; var $host = $dat1[0]; var $user = $dat1[1]; var $passwd = $dat1[2]; var $tables = "pollger"; function set_doerror($boolvalue) { $this->doerror = $boolvalue; } function connect() // Verbindet zur Datenbank { $temp = @mysql_connect ($this->host, $this->user, $this->passwd); if (!$temp) .....' und hier die ersten paar zeilen der index.php: 'include("mysql_db.php"); $a = "SELECT COUNT(IDhu) AS ID FROM bla"; $tbl_umfrage=mysql_query($a,$db); $test2 = mysql_fetch_array ($tbl_umfrage);' :mod: Sieht sehr lang aus, aber bitte helft mir. ich habe die 11. Zeile in mysq_db.php noch extra markiert. Ich weiß echt nicht weiter. :confused: und wenns geht keine dummen kommentare
5. Januar 200520 j Versuch doch mal folgendes: var $datei = fopen("DB-info.txt", "r"); und wenns geht keine dummen kommentare Naja einen Kommentar kann ich mir nicht verkneifen. Warum das Forum Webdesign und nicht Skript- und Webserverprogrammierung? Frank
6. Januar 200520 j Kommt der Fehler wenn Du die Zeile 11 rauswirfst? Denn so wies ausschaut brauchst du sie ja eigentlich nicht (denk ich). Du öffnest hier ja die txt mit fopen und in der Zeile danach öffnest du sie nochmal mit file und liest sie in ein Array.
6. Januar 200520 j ja, jetzt ist die raus und der browser zeigt den gleichen fehler, nur halt mit der nächsten zeile.
6. Januar 200520 j Dann kommentier doch mal alles aus und dann nimmst Du nach und nach die einzelnen Zeilen wieder rein. Damit man den Fehler etwas eingrenzen kann. Frank
7. Januar 200520 j und was heißt das mit den default werten? Ich hab das mit der MySQL Klasse doch auch nur aus einem Buch das nur auf PHP4 und Mysql basiert.
11. Januar 200520 j class mysql_db { //Die Datei DB-info.txt wird ausgelesen var $fp = "DB-info.txt"; var $datei = fopen($fp, "r"); var $angebot = file("DB-info.txt"); var $num = 0; while($num < count($angebot)) { $dat = explode("|", $angebot[$num]); $num ++; } Also zum einen ist es ohnehin ne Unart Variablen ausserhalb des Konstruktors zu initialisieren und zum anderen... darf man bei PHP überhaupt innerhalb der Klasse einfach so eine Schleife laufen lassen? Glaube nicht...
12. Januar 200520 j class mysql_db { //Die Datei DB-info.txt wird ausgelesen var $fp = "DB-info.txt"; var $datei = fopen($fp, "r"); var $angebot = file("DB-info.txt"); var $num = 0; while($num < count($angebot)) { $dat = explode("|", $angebot[$num]); $num ++; } Also zum einen ist es ohnehin ne Unart Variablen ausserhalb des Konstruktors zu initialisieren und zum anderen... darf man bei PHP überhaupt innerhalb der Klasse einfach so eine Schleife laufen lassen? Glaube nicht... Das initialisieren von Variablen ausserhalb des Konstruktors ist in PHP4 nicht erlaubt. In PHP5 geht das vielleicht, da weiss ichs nicht... Das mit der While schleife kann ich mir auch nicht vorstellen das das so ohne weiteres geht...
12. Januar 200520 j Das initialisieren von Variablen ausserhalb des Konstruktors ist in PHP4 nicht erlaubt. In PHP5 geht das vielleicht, da weiss ichs nicht... Sowas dachte ich mir schon Allerdings bin ich noch nie an diese Reglementierung gestoßen da wir "Initialisiere deine Variablen im Konstruktor" ewig und 3 Tage eingebläut bekommen haben damals. Bei Java und C++ ist es das selbe Spiel allerdings akzeptiert der Compiler auch direkte Initalisierungen
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.