serega: VARIABLE, DB ABFRAGE

Hallo.
Bei Script1 wird durch ein Formular  zwei Variablen übergeben.
Auf der darauf folgenden Seite möchte ich Variablen ausgegeben und in DB abschicken..
AenderungText.php:

echo "$textNa, $TEXT";
mysql("$DBName","UPDATE text SET text='$TEXT'  WHERE textNa='$textNa'");

Ich bekomme beide Variablen (TEXT und textNa), aber  im DB ändert nichts.
Ich habe für Prüfung kleine Test gemacht mit dise:
mysql("$DBName","UPDATE text SET text='kuku'  WHERE textNa='privat'");

Das geht ohne Problem.

Ich vermute ein logische Fehler.
Kann mich jemand helfen?

Noch Script1:
Script1:
 <form action='AenderungText.php' method='post'>";
      <textarea name='TEXT' rows='20' cols='50'> kuku </textarea>
            echo "<input type="hidden" name="textNa" value="privat">
        <input type='submit' value=' Absenden '>
      </form> ";

  1. Hallo

    Bei Script1 wird durch ein Formular  zwei Variablen übergeben.
    Auf der darauf folgenden Seite möchte ich Variablen ausgegeben und in DB abschicken..

    mysql("$DBName","UPDATE text SET text='$TEXT'  WHERE textNa='$textNa'");

    Versuche es mal mit mysql_query("UPDATE text SET text='$TEXT' WHERE textNa='$textNa'"). Die Funktion mysql gibt es in PHP nicht.

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.1
    1. Morgen!
      Mit mysql ist alles in Ordnung, ich habe gleiche Funktion bei  Übergabe von Texten genutzt. Aber mit mysql_query auch schon versucht - vergeblich.
      Falls ich Variable durch normale Text ersetze, dann läuft alles.
      Ich bekomme von erste script Variable als Array oder? ...

  2. du bist auf dem holzweg junge ...

    was macht die function mysql() ??? ich kenne sie nicht.
    also wenn überhaupt, dann nutze die function mysql_query().
    das du eine verbindung mit der mysql DB hergestellt hast und die table existiert, davon gehe ich mal aus.

    das sieht dann so aus:

    mysql_query("UPDATE table SET datum='$datum', wert='$wert', etc='$etc' WHERE tool='$tool'");

    auf dein sache ummünzen musst du es schon selber.

    1. nachtrag:
      dasvorige bsp. war nicht ganz korrekt:

      mssql_query($query, $db_con);

  3. Morgen!
    Mit Befehl mysql ist alles in Ordnung, ich habe gleiche Befehl bei  Übergabe von Texten genutzt. Aber mit mysql_query auch schon versucht - vergeblich.
    Falls ich Variable durch normale Text ersetze, dann läuft alles.
    Ich bekomme von erste script Variable als Array oder? ...

    1. Tag serega.

      Falls ich Variable durch normale Text ersetze, dann läuft alles.
      Ich bekomme von erste script Variable als Array oder? ...

      Dann zeige uns doch mal, wie du die Variablen befüllst. Bisher wissen wir nur, dass sie aus einem Formular kommen, aber wie verarbeitest du diese Eingaben in deinem Script?

      Siechfred

      1. Ich bekomme 2 Variablen: $TextNa$TEXT   und printe sie, um zu prüfen.
        echo "$TextNa, $TEXT";
        Tatsächlich kommen 2 richtige texte, z.B, "home, kuku"

        Dann versuche ich mysqlAbfrage:

        mysql("$DBName","UPDATE text SET text='$TEXT'  WHERE textNa='$textNa'");

        Und hie stoppt alles.
        Falls ich  mysql änderte, fann ist alle in Ordnung:
        mysql("$DBName","UPDATE text SET text='kuku'  WHERE textNa='home'");

        Also, ich verstehe etwas mit Variablen nicht.

        MfG

        1. Ich bekomme 2 Variablen: $TextNa$TEXT   und printe sie, um zu prüfen.
          echo "$TextNa, $TEXT";
          Tatsächlich kommen 2 richtige texte, z.B, "home, kuku"

          Okay, dann scheint es da schon mal nicht zu klemmen.

          Dann versuche ich mysqlAbfrage:
          mysql("$DBName","UPDATE text SET text='$TEXT'  WHERE textNa='$textNa'");

          Wie dir bereits gesagt wurde, ist "mysql" keine native PHP-Funktion, sie muss also irgendwo definiert sein, entweder als eigene Funktion oder über irgendein Package, das du benutzt. Ich denke, dass es da klemmt. Also suche die Funktionsdefinition und zeige uns ihren Code bzw. sage, welches Package benutzt wird.

          Siechfred

          1. Hallo, leider kann ich nicht  alles verstehen (nur seit paar Tagen damit  beschäftige).
            Die ganze Script ist so:
            AenderungText.php
            <?
            mysql_connect("$DBHost","$DBUser","$DBPass");
            echo "$textNa,$TEXT";
            mysql("$DBName","UPDATE text SET text='$TEXT'  WHERE textNa='$textNa'");
            echo "</BODY></HTML>";
            ?>

            Verbindung steht, script Probe.php  ohne Problem:
            Probe.php
            <?
            mysql_connect("$DBHost","$DBUser","$DBPass");
            echo "$textNa,$TEXT";
            mysql("$DBName","UPDATE text SET text='kuku'  WHERE textNa='home'");
            echo "</BODY></HTML>";
            ?>
            Variable  bekomme ich von Script1.php
            Script1.php

            <?
              $textNa = "home";
            echo "<form action='AenderungText.php' method='post'>";
                 echo " <textarea name='TEXT' rows='20' cols='50'> kuku </textarea> ";
                        echo "<input type="hidden" name="textNa" value="$textNa">
                    <input type='submit' value=' Absenden '>
                  </form> ";
             }
            ?>

            Best regards

            1. Hallo, leider kann ich nicht  alles verstehen (nur seit paar Tagen damit  beschäftige).

              Das ist schlecht. Aber wenn du einfach mal in die PHP-Dokumentation siehst, wirst du dort die Funktion "mysql" nicht finden: http://www.php.net/manual/en/ref.mysql.php.

              mysql_connect("$DBHost","$DBUser","$DBPass");

              mysql_connect ist eine PHP-Funktion, weshalb die Datenbankverbindung auch funktioniert. Du solltest einfach mal versuchen, ausschließlich Standard-Funktionen zu verwenden:

              Ganz vereinfacht:

              $link = mysql_connect($Server, $User, $Password) or die("Couldn't connect to database: " . mysql_error());  
              mysql_select_db($DBName) or die("Couldn't select $DBName");  
              $query = sprintf("UPDATE text SET text='%s' WHERE textNa='%s'",  
                         mysql_real_escape_string($TEXT),  
                         mysql_real_escape_string($textNA));  
              $result = mysql_query($query) or die("Error: " . mysql_error());  
              if($result) {  
                echo $DBName . " successfully updated!";  
              }  
              else {  
                echo $DBName . " update failed!";  
              }  
              mysql_close($link);
              

              Siechfred

  4. echo $begrüßung;

    Bei Script1 wird durch ein Formular  zwei Variablen übergeben.
    Auf der darauf folgenden Seite möchte ich Variablen ausgegeben und in DB abschicken..
    AenderungText.php:

    echo "$textNa, $TEXT";
    mysql("$DBName","UPDATE text SET text='$TEXT'  WHERE textNa='$textNa'");

    Ich gehe mal davon aus, dass mysql() eine selbst definierte Funktion ist. Da du nicht zeigst, wie sie definiert ist, kann ich nur raten und allgmeine Hinweise geben.

    • Setze das error_reporting auf E_ALL, damit du alle PHP-Fehler, Warnungen und Hinweise angezeigt bekommst.
    • Frage innerhalb von mysql() die Rückgabewerte der dort verwendeten mysql_*-Funktionen ab. Einige liefern false, wenn etwas nicht geklappt hat. Die Funktion mysql_error() liefert dann die Fehlermeldung in Textform.

    echo "$verabschiedung $name";