Lukas Böhm: Parse error ?

Hi!
Ich beschäftige mich gerade mit PHP und MySQL. Ich versuche eine MySQL-Tabelle mit Daten füllen. Leider bekomme ich folgende Fehlermeldung:

Parse error: parse error, unexpected T_STRING in D:\xampp\xampp\htdocs\index6.php on line 13

Was ist falsch? Mein Quelltext sieht so aus:

<?php
    define('MYSQL_HOST',     'localhost');
    define('MYSQL_USER',     'root');
    define('MYSQL_PASS',     '');
    define('MYSQL_DATABASE', 'test');

@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR
        die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR
        die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());

$sql = INSERT INTO News
    (Titel,Inhalt,Datum,Autor)
VALUES
    ('Meine erste News',
     'Dies ist meine erste News. Ich hoffe es kommen noch weitere',
     NOW(),
     'Progman');

$result = mysql_query($sql);
    if(!$sql) { // prüfen auf false
        echo "Konnte die MySQL-Abfrage nicht verarbeiten <br />\n";
        echo "MySQL-Antwort:".mysql_error();
        die();
?>

Ich danke euch für eure Antworten!
szia, Lukas

  1. echo $begrüßung;

    Parse error: parse error, unexpected T_STRING in D:\xampp\xampp\htdocs\index6.php on line 13
    Was ist falsch?

    Du verwendest keinen Editor mit Syntaxunterstützung. Fällt dir in Zeile 13 was an der farblichen Gestaltung auf?

    » <?php  
    
    >     define('MYSQL_HOST',     'localhost');  
    >     define('MYSQL_USER',     'root');  
    >     define('MYSQL_PASS',     '');  
    >     define('MYSQL_DATABASE', 'test');  
    >   
    >     @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR  
    >         die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());  
    >     mysql_select_db(MYSQL_DATABASE) OR  
    >         die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());  
    >   
    >   
    > $sql = INSERT INTO News  
    >     (Titel,Inhalt,Datum,Autor)  
    > VALUES  
    >     ('Meine erste News',  
    >      'Dies ist meine erste News. Ich hoffe es kommen noch weitere',  
    >      NOW(),  
    >      'Progman');  
    >   
    >    $result = mysql_query($sql);  
    >     if(!$sql) { // prüfen auf false  
    >         echo "Konnte die MySQL-Abfrage nicht verarbeiten <br />\n";  
    >         echo "MySQL-Antwort:".mysql_error();  
    >         die();  
    > ?>
    
    

    echo "$verabschiedung $name";

    1. Hi!

      Du verwendest keinen Editor mit Syntaxunterstützung.

      Weaverslave...

      Fällt dir in Zeile 13 was an der farblichen Gestaltung auf?

      Ähm, ne. Ich weiß echt nicht, was falsch ist. Kannst du mir bitte genauere Tips bzw. Hilfestellungen geben?
      Vielen Dank für deine Antwort!
      szia, Lukas

  2. Hallo Lukas.

    Parse error: parse error, unexpected T_STRING in D:\xampp\xampp\htdocs\index6.php on line 13

    […]

    $sql = INSERT INTO News

    (Titel,Inhalt,Datum,Autor)
    VALUES
        ('Meine erste News',
         'Dies ist meine erste News. Ich hoffe es kommen noch weitere',
         NOW(),
         'Progman');

      
    Dieses Konstrukt solltest du dir noch einmal genauer anschauen.  
      
      
    Einen schönen Samstag noch.  
      
    Gruß, Mathias  
    
    -- 
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|  
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“  
    [[HTML Design Constraints: Logical Markup](http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html)]
    
    1. Hi!

      Dieses Konstrukt solltest du dir noch einmal genauer anschauen.

      Dass in diesem Konstrukt irgendwo ein Fehler ist, denk ich mir. Das hat mir Apache, oder was auch immer, schon gesagt. Ich hoffte darauf, dass mir irgendjemand sagen kann, wie ich es richtig machen muss bzw. wo der Denkfehler liegt.
      szia, Lukas

      1. Hi there,

        auch immer, schon gesagt. Ich hoffte darauf, dass mir irgendjemand sagen kann, wie ich es richtig machen muss bzw. wo der Denkfehler liegt.

        Vielleicht dort, wo darauf vergessen wurde, daß Strings in Anführungszeichen gehören?

        1. Hi!

          Vielleicht dort, wo darauf vergessen wurde, daß Strings in Anführungszeichen gehören?

          Oh! Vielen Dank! Das war mir nicht klar, dass das ein String ist. Aber eigentlich logisch :-)

          Vielen Dank für die Antworten!
          szia, Lukas

  3. Hi!
    Ich beschäftige mich gerade mit PHP und MySQL. Ich versuche eine MySQL-Tabelle mit Daten füllen.

    Das Kapitel Strings im MySQL-Manual (das du auf php.net bekommst) würde ich dir sehr empfehlen.

    Leider bekomme ich folgende Fehlermeldung:

    Kein Wunder.

    $sql = INSERT INTO News
        (Titel,Inhalt,Datum,Autor)
    VALUES
        ('Meine erste News',
         'Dies ist meine erste News. Ich hoffe es kommen noch weitere',
         NOW(),
         'Progman');

    Und da liegt der Fehler. Kleiner Tipp: Es fehlt etwas, was man in JEDER Programmiersprache bei Strings machen muss...

    $result = mysql_query($sql);
        if(!$sql) { // prüfen auf false

    Und nett wie ich bin: Hier ist noch ein Fehler - ein logischer. Event. fällt er dir ja selbst auf?

    Gruß

    Stareagle

    1. Hi there,

      $result = mysql_query($sql);
          if(!$sql) { // prüfen auf false

      Und nett wie ich bin: Hier ist noch ein Fehler - ein logischer. Event. fällt er dir ja selbst auf?

      ja, der ist auch gut ;)

    2. Hi!

      $result = mysql_query($sql);
          if(!$sql) { // prüfen auf false

      Und nett wie ich bin: Hier ist noch ein Fehler - ein logischer. Event. fällt er dir ja selbst auf?

      Ähm, ich hab mir die Teile aus dem QuakeNet Tutorial rauskopiert.
      Ich finde keinen Fehler. Ich beschäftig mich erst seit wenigen Stunden mit PHP. Ich schreibs mir auf. Vielleicht finde ich ihn in einem Jahr, wenn ich mich besser auskenne. Außer du sagst mir vielleicht, wo er versteckt ist.
      Sollte der Fehler aber auf dem Mist von QuakeNet gewachsen sein, dann kannst du dich bei Progman (mailto:Progman2002@gmx.de) beschweren und so zur Verbesserung des Tutorials beitragen.
      szia, Lukas

      1. Moin!

        Ich finde keinen Fehler. Ich beschäftig mich erst seit wenigen Stunden mit PHP. Ich schreibs mir auf. Vielleicht finde ich ihn in einem Jahr, wenn ich mich besser auskenne. Außer du sagst mir vielleicht, wo er versteckt ist.

        Wenn du erst seit wenigen Stunden PHP lernst, solltest du nicht gleich noch MySQL dazunehmen, sondern erstmal wirklich nur PHP machen.

        MySQL ist nämlich nochmal der doppelte Aufwand, weil SQL eine eigene Programmiersprache ist, die du noch zusätzlich lernen mußt. Und Datenbankdesign ist auch eine Wissenschaft für sich.

        Also lieber erstmal einen Bogen um MySQL machen.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Hi!
          Ich habe darauf vertraut, dass die Leute von QuakeNet wissen, was sie machen. Ich habe einfach das Tutorial durchgearbeitet, habe alles verstanden was bis jetzt dran war und bin somit bei MySQL gelandet.
          Oder ist das falsch, was die bei QuakeNet machen? Kannst du mir ein anderes Tutorial empfehlen?
          szia, Lukas

          1. Hallo,

            Es kommt drauf an, ob du schon mal in irgendeiner anderen Sprache programmiert hast.

            Mein Einstieg in PHP war das Buch MySQL von Michael Kofler:

            http://www.addison-wesley.de/main/main.asp?page=ebooks/bookdetails&ProductID=7959&SID={8C501576-5DD2-4471-A5DF-839308E2F7FE}&TOKEN={D6F0F1FD-A0D2-4F72-A884-FB28968A4C0E}

            Danach hab ich einfach rumprobiert, und mittlerweile brauch ich eigentlich nur noch das PHP-Manual (s. www.php.net). Ich würde die englische Version empfehlen, die ist normalerweise vollständiger und aktueller als die deutsche. Schau es dir einfach mal an - nicht alles natürlich, sondern die Basics (die ersten Kapitel). Event. auch die Kapitel mit Funktionen, die dich im Moment interessieren.

            Die Frage ist auch - bitte nicht falsch verstehen - ob du schon Programmiererfahrung hast. PHP ist imho nicht unbedingt die beste Einstiegssprache, da es viele Konzepte, die in anderen Programmiersprachen, wie z.B. C/C++ und Java vorhanden sind, nicht besitzt. Ich spiele da z.B. auf getypte Variablen etc. an.

            C/C++ würde ich allerdings auch nicht unbedingt empfehlen, da es dort sehr einfach ist, sich in den Fuss zu schießen. Java ist eine gute Sprache zu Einstieg, und dann verstehst du auch PHP (das eine ähnliche Syntax hat) besser.

            Imho ist es leichter auf Dinge zu verzichten, wenn die man kennt, als sie sich später daran zu gewöhnen. Beispiel wären da Variablen. In PHP kannst du einfach neue Variablen einführen, indem du sie benutzt. In vielen anderen Sprachen mußt sie zuerst deklarieren und initialisieren. Und auf die Typen der Variablen achten. PHP macht das automatisch, was manchmal sehr nett, manchmal auch nicht (z.B. bei Drehern in Variablennamen).

            So etwas länger geworden, aber ich hoffe ich konnte dir helfen.

            Gruß

            Stareagle

      2. Hi there,

        $result = mysql_query($sql);
            if(!$sql) { // prüfen auf false

        Und nett wie ich bin: Hier ist noch ein Fehler - ein logischer. Event. fällt er dir ja

        Ich finde keinen Fehler. Ich beschäftig mich erst seit wenigen Stunden mit PHP.

        Ist eigentlich egal, wie lange man sich damit beschäftigt. Schau einmal nach: Du speicherst das Resultat einer Abfrage in einer Variablen namens $result. Es wäre in jeder Programmiersprache der Welt eine gute Idee, dann _diese_ Variable zu überprüfen und nicht eine andere.

        Gut möglich, daß das in der Vorlage falsch war und auch gut möglich, daß da niemals jemand bemerkt hat. Denn wenn die Abfrage erfolgreich war, dann entspricht das Resultat der Abfrage ohnehin dem Resultat der theoretisch richtigen Abfrage. Und wenn nicht, naja, dann wäre halt weiter unten ein Folgefehler aufgetreten. Anyway, stareagle hat Recht, in der Form ist das definitiv Blödsinn...

        1. Hi!

          Ist eigentlich egal, wie lange man sich damit beschäftigt. Schau einmal nach: Du speicherst das Resultat einer Abfrage in einer Variablen namens $result. Es wäre in jeder Programmiersprache der Welt eine gute Idee, dann _diese_ Variable zu überprüfen und nicht eine andere.

          Danke für die verständlich Erklärung :-)
          szia, Lukas