#1 5. August 2007 PHP Problem MySQL Hi, arbeite gerade an meiner Homepage, aber ich bleibe immer bei einem fehler hängen. Könnt ihr mir sagen was der fehler ist? Hier der code. Wenn ich ihn ausführe kommt der fehler: Code: Parse error: syntax error, unexpected T_STRING in /usr/export/www/hosting/alexg61/test.php on line 26 Code: <?php error_reporting(E_ALL); include 'config.php'; // Konfigurationsdatei laden $db_link = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); if($db_link) { echo "Verbindung wurde aufgebaut<br />\n"; if(mysql_select_db("alexg61")) { // diese Datenbank gibt es nicht echo("Die Datenbank wurde ausgewählt<br />\n"); $titel = $_POST["titel"]; $genre = $_POST["genre"]; $username = $_POST["username"]; $darsteller = $_POST["darsteller"]; $startdatum = $_POST["startdatum"]; $beschreibung = $_POST["beschreibung"]; // test der daten echo "$titel <br />\n"; echo "$genre <br />\n"; CREATE TABLE film ( <----------das ist zeile 26 Titel VARCHAR(60), Genre VARCHAR(15), Regie VARCHAR(15), Hauptdarsteller VARCHAR(100), Startdatum: INT, Beschreibung TEXT ); // Hier kann man jetzt MySQL-Querys senden } else { echo "Konnte Datenbank nicht benutzen.<br />\n"; echo "Der Grund dafür: ".mysql_error()."\n"; } } else { echo "Es konnte keine Verbindung aufgebaut werden"; } ?> + Multi-Zitat Zitieren
#2 5. August 2007 AW: PHP Problem MySQL Du kannst den SQL Befehl ni einfach so direkt ausführen! Code: $create_table_film = ' CREATE TABLE film( Titel VARCHAR(60), Genre VARCHAR(15), Regie VARCHAR(15), Hauptdarsteller VARCHAR(100), Startdatum: INT, Beschreibung TEXT )'; $create_table = mysql_query($create_table_film); #or die (mysql_error()); if ($create_table) { echo "erfolgreich erstellt"; } else { echo "Fehler beim erstellen"; } Dann.. Am Datenbank design.. Startdatum würde ich DATE geben Dann Genre, Regie und Hauptdarsteller wiederholen sich ja des öfteren.. deshalb lieber eigene Tabelle für Diese erstellen und dann nur die ID eintragen um redundanz zu vermeiden! + Multi-Zitat Zitieren
#3 5. August 2007 AW: PHP Problem MySQL ~moved~ PHP -> Webtechnik. Mfg, Kolazomai + Multi-Zitat Zitieren
#4 5. August 2007 AW: PHP Problem MySQL Der Fehler steht doch da und wurde hier nun bereits beantwortet. Soweit muss ich mich icq-light anschließen. Datum als INT ist jedoch vollkommen OK, aber nicht die Länge vergessen und dir noch einige gedanken über die sicherheit machen. gruss + Multi-Zitat Zitieren
#5 6. August 2007 AW: PHP Problem MySQL danke für deine Hilfe. So habe ich das noch garnicht gesehen, dass man es auch so machen kann. Danke für den Tipp! Ich habe jetzt den code da hingesetzt, wo meiner stand, aber da kommt fehler beim erstellen, also das was bei elso passieren soll. was ist jetzt der fehler? jetzt kommt bei mir wieder ein ganz anderer fehler und ich weiß nicht wieso. Code: Parse error: syntax error, unexpected $end in /usr/export/www/hosting/alexg61/test.php on line 47 Code: <?php error_reporting(E_ALL); include 'config.php'; // Konfigurationsdatei laden $db_link = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); if($db_link) { echo "Verbindung wurde aufgebaut<br />\n"; if(mysql_select_db("alexg61")) { // diese Datenbank gibt es nicht echo("Die Datenbank wurde ausgewählt<br />\n"); $titel = $_POST["titel"]; $genre = $_POST["genre"]; $username = $_POST["username"]; $darsteller = $_POST["darsteller"]; $startdatum = $_POST["startdatum"]; $beschreibung = $_POST["beschreibung"]; // test der daten echo "$titel <br />\n"; echo "$genre <br />\n"; $create_table_film = ' CREATE TABLE film( Titel VARCHAR(60), Genre VARCHAR(15), Regie VARCHAR(15), Hauptdarsteller VARCHAR(100), DATE: INT, Beschreibung TEXT )'; $create_table = mysql_query($create_table_film); #or die (mysql_error()); if ($create_table) { echo "erfolgreich erstellt"; } else { echo "Fehler beim erstellen"; } ?> <--------------- Line 47 wo soll hier ein fehler sein? + Multi-Zitat Zitieren
#6 6. August 2007 AW: PHP Problem MySQL Zähl mal die geschweiften Klammern die AUFgehen und die geschweiften Klammern die ZUgehen + Multi-Zitat Zitieren
#7 6. August 2007 AW: PHP Problem MySQL und du darfst deine Spalte nicht DATE nennen.. + Multi-Zitat Zitieren
#8 6. August 2007 AW: PHP Problem MySQL könntest du mir mal bitte zeigen wo der fehler ist? so habe jetzt hier die 2 klammern hinzugefügt: Code: if($db_link) { echo "Verbindung wurde aufgebaut<br />\n"; [COLOR="Red"] }[/COLOR] if(mysql_select_db("alexg61")) { // diese Datenbank gibt es nicht echo("Die Datenbank wurde ausgewählt<br />\n"); [COLOR="#ff0000"]}[/COLOR] Dann kommt zwar nicht der Fehler auf zeile 49, aber einfach Fehler beim erstellen also das was es bei ELSE machen sollte + Multi-Zitat Zitieren
#9 6. August 2007 AW: PHP Problem MySQL Alle if Verzweigungen müssen mit ner geschweiften Klammer wieder abgeschlossen werden also: irgendwie so. Deine if Verzweigungen gehen irgendwann mal auf: aber dann nicht mehr zu. Da die Verzweigungen spätestens eine Zeile vor dem abschliessenden ?> zugehen müssten meckert der Parser in der letzten Zeile erst rum. + Multi-Zitat Zitieren
#10 6. August 2007 AW: PHP Problem MySQL So habs hinbekommen. der code, der oben genannt wurde war nicht vollständig. da fehlte das hier Code: if ($create_table[COLOR="Red"]_titel[/COLOR]) { echo "erfolgreich erstellt"; } else { echo "Fehler beim erstellen"; } jetzt geht es. Stelle hier weitere fragen, falls welche auftauchen Was stimmt hier schon wieder nicht? Code: $INSERT INTO News = ' <----- hier scheint wieder ein fehler zu sein?? INSERT INTO News (Name,Genre,Regie,Hauptdarsteller,Datum,Beschreibung) VALUES ($titel,$genre,$username,$darsteller,$startdatum,$beschreibung)'; $INSERT INTO News = mysql_query($INSERT_INTO_News); #or die (mysql_error()); if ($INSERT_INTO_News) { echo "erfolgreich erstellt"; } else { echo "Fehler beim erstellen"; } + Multi-Zitat Zitieren