Undefined Constant?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Undefined Constant?

    Nachdem ich mir das error reporting jetzt auch mal antun will und ich nicht einfach alles ignorieren was funktioniert, taucht folgende Notice auf:

    Notice: Use of undefined constant text - assumed 'text' in /var/www/vhosts/style-that.de/httpdocs/index.php on line 21


    PHP-Code:
    $sql="SELECT text,id FROM test WHERE id=1;";
    $db->query($sql);
            WHILE (
    $data=$db->data()) {
                
    $bla $data[text];     
                 echo 
    $bla;
            } 
    Wieso undefined? Und wieso gibt er den Wert aus wenn es nicht definiert ist?

  • #2
    versuche es mal so

    PHP-Code:
    $sql="SELECT text,id FROM test WHERE id=1;";
    $db->query($sql);
            WHILE (
    $data=$db->data()) {
                
    $bla $data['text'];     
                 echo 
    $bla;
            } 

    arrays müssen immer so aussehen
    PHP-Code:
    $array['name'
    Du must den Teil in den eckigen Klammern in Hochkommata setzen........

    Kommentar


    • #3
      Krass, ich hab seit Wochen ohne gearbeitet und es hat funktioniert Danke

      Kommentar


      • #4
        Hi,

        und verstehst Du denn jetzt auch, warum das funktioniert hat, warum das aber eine
        Warning erzeugt und was diese Warning bedeutet? Weiß jetzt nicht, wie es um Deine
        Englischkenntnisse bestellt ist.

        Kommentar


        • #5
          Hi,
          komischerweise ist das unter anderem ein "feature" von php.
          Bei stringinterpolationen funktioniert folgendes.

          PHP-Code:
          $the_array = array('hallo' => 'string');
          echo 
          "ich bin ein  $the_array[hallo]"
          Das geht nur auf diese weise oder eben mit geschweiften klammern
          und dann wie gewohnt mit schlüssel in hochkommata.

          greets
          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

          Kommentar


          • #6
            Hi,

            ich weiß, aber ich find's unsauber und benutze das daher nie, sondern arbeite grundsätzlich mit
            String-Verkettungen. Hab' gerade mal rumgespielt:
            PHP-Code:
            define("hallo""oops");
            $the_array = array('hallo' => 'string''oops' => 'integer');
            echo 
            "ich bin ein $the_array[hallo]";
            echo 
            "ich bin ein" $the_array[hallo]; 
            Das erste echo liefert "ich bin ein string", das zweite "ich bin ein integer".
            Für mich ist das inkonsistent. Egal, wollte auch nur erreichen, dass der OP das Problem versteht, statt sich
            einfach nur zu sagen "dann mach ich das halt so".

            Kommentar


            • #7
              Hi,

              das war mir schon klar. Mein komentar war zu dem zeitpunkt auch
              schon offtopic weil ich das problem als gelöst angesehen habe.
              Natürlich ist es inkonsistent. Ich wollte nur noch mal darauf hinweisen
              dass php ein paar "toll features" hat.

              Ich benutze, wenn ich mal php schreiben muss, immer sowas:
              PHP-Code:
              $the_ary['hallo' => 'welt'];
              "so ists besser. Hallo {$the_ary['hallo']}
              Der entwickler von ruby hat mal sinngemäß in einer mailingliste
              auf die frage ob ein bestimmtes verhalten ein bug oder ein feature
              sei folgendes geantwortet.
              matz hat ungefähr folgendes geschrieben
              It's a feature, but we are trying to fix it in the next major
              release (1.9 or 2.0).
              da könnten sich die php-entwickler mal ein beispiel dran nehmen.

              greets
              (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

              Kommentar


              • #8
                matz hat ungefähr folgendes geschrieben
                It's a feature, but we are trying to fix it in the next major
                release (1.9 or 2.0).
                den kannte ich auch noch nicht...

                Kommentar

                Lädt...
                X