[Script] PHP Problem MySQL

Dieses Thema im Forum "Webentwicklung" wurde erstellt von HiGh-FlY, 5. August 2007 .

Schlagworte:
  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";
     }
    ?>
     
  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!
     
  3. 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
     
  4. 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?
    
     
  5. 6. August 2007
    AW: PHP Problem MySQL

    Zähl mal die geschweiften Klammern die AUFgehen und die geschweiften Klammern die ZUgehen
     
  6. 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
     
  7. 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.
     
  8. 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";
    
     }
    
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.