Variable in einen MySQL Befehl einfügen

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

  • Variable in einen MySQL Befehl einfügen

    Hi,

    ich versuche schon die ganze Zeit folgendes Problem zu lösen:


    Die Variable $Inhalt soll in den Folgenden Befehl eingefügt werden (Stelle mit * gekennzeichnet):
    PHP-Code:
    $query  "INSERT INTO LINK VALUES ('[B]*[/B]')"
    Grund ist folgender; Es soll ein ganz einfaches Script sein. In die Variable $Inhalt wird ein Textstring eingegeben (z.B.: Hallo) und dieser string soll in eine MySQL Datenbank (Link) reingeschrieben werden.

    Ansich funktioniert der Spass auch wenn ich einfach einen Wert in den obigen Befehl eingebe, aber ich hab leider keine Ahnung wie ich den Variablen-Inhalt an die oben beschrieben Stelle schreiben kann...
    Habs schon so probiert:
    PHP-Code:
    $query  "INSERT INTO LINK VALUES ('".$Inhalt."')"
    aber dies Funktioniert leider nicht...

    Vielleicht hat ja von euch jemand ne Idee.


    Thx

    Falls benötigt hier nochmal das ganze Script:
    PHP-Code:
    <?
        include 'config.inc.php';

        $connect = mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORT);
        if ($connect) {
            if(mysql_select_db($database,$connect)) {
                $query  = "INSERT INTO LINK VALUES ('')";    
                $result = mysql_query($query, $connect);
                if ($result) {
                    $data = mysql_fetch_array($result);
                    while($data) {
                        $data = mysql_fetch_array($result);
                    }
                }
            }
            mysql_close ($connect);
        }
    ?>

  • #2
    Re: Variable in einen MySQL Befehl einfügen

    Original geschrieben von Bastard2604
    [B]
    Habs schon so probiert:
    PHP-Code:
    $query  "INSERT INTO LINK VALUES ('".$Inhalt."')"
    aber dies Funktioniert leider nicht...
    wie hast du das festgestellt? Der Command ist korrekt.

    lese mal meine eingefügte Kommentare durch

    PHP-Code:
    <?
        include 'config.inc.php';

        $connect = mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORT);
        if ($connect) {
            if(mysql_select_db($database,$connect)) {
                         // hier wurde einen Leerstring in die DB eingetragen
                $query  = "INSERT INTO LINK VALUES ('')"; 
                $result = mysql_query($query, $connect);
                if ($result) {
                                 // was soll denn das hier werden?
                    $data = mysql_fetch_array($result);
                    while($data) {
                                          // hier gibst nichts zu holen!
                                          // ein INSERT liefert keine Daten zurück
                        $data = mysql_fetch_array($result);
                    }
                }
            }
            mysql_close ($connect);
        }
    ?>

    Kommentar


    • #3
      Eigentlich logisch^^ , habs einfach blind kopiert von einem Auslese Befehl den ich heute in der Schule gemacht habe.

      d.h. der code sollte so aussehen?

      PHP-Code:
      <?
          include 'config.inc.php';

          $connect = mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORT);
          if ($connect) {
              if(mysql_select_db($database,$connect)) {
                  $query  = "INSERT INTO LINK VALUES ('".Inhalt."')"; 
                  $result = mysql_query($query, $connect);
              }
             mysql_close ($connect);
          }
      EDIT:
      Leider gehts immer noch nicht. Hier mal mein Ausgabescript (Funktioniert):

      PHP-Code:
      <?
          include 'config.inc.php';

          $connect = mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORT);
          if ($connect) {
              if(mysql_select_db($database,$connect)) {
                  $query = "select Name from Link Where 1";
                  $result = mysql_query($query, $connect);
                  if ($result) {
                      $data = mysql_fetch_array($result);
                      while($data) {
                          echo $data["Name"], "<br>";
                          $data = mysql_fetch_array($result);
                      }
                  }
              }
              mysql_close ($connect);
          }
      ?>
      Zuletzt geändert von Bastard2604; 15.02.2006, 20:12.

      Kommentar


      • #4
        im Prinzip ja, nur noch mysql_error() einbauen oder entsprechende Fehlerabfangroutine einbauen (try ... catch) dann wäre das OK
        EDIT:
        du kannst doch nicht einfach editieren, wenn ich dabei bin zu antworten, mach das nie wieder


        wo kommt denn $Inhalt her? was bekommst du bei

        echo 'Inhalt: '.$Inhalt;


        Zuletzt geändert von asp2php; 15.02.2006, 20:18.

        Kommentar


        • #5
          Ja ich versteh nicht warum es nicht geh, mysql meldet keinen fehler aber eingetragen wird leider gar nichts....

          Kommentar


          • #6
            du hast meine Frage nicht geantwortet!

            Kommentar


            • #7
              Den Inhalt gebe ich vor. hier einmal das ganze Konzept^^ :

              Eingabe (index.html):
              PHP-Code:
              <html>
              <
              head>
                  <
              title>MySQL Datensätze einfügen</title>
              </
              head>
              <
              body>

                 <
              form action="create.php" method="get">
                    <
              input type="text" name="Inhalt" size="27" maxlenth="40">
                    <
              input type="submit" value="Eintragen">
                 </
              form>
                 
              </
              body>
              </
              html
              Auswertung (create.php):
              PHP-Code:
              <html>
              <head>

              <?
                  include 'config.inc.php';

                  $connect = mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORT);
                  if ($connect) {
                      if(mysql_select_db($database,$connect)) {
                          $query  = "INSERT INTO LINK VALUES ('".$Inhalt."')"; 
                          $result = mysql_query($query, $connect);
                      }
                     mysql_close ($connect);
                  }
              ?>

              <a href=sql.php>Eintraege Anzeigen</a>

              </body>
              </html>
              Ausgabe (sql.php):
              PHP-Code:
              <?
                  include 'config.inc.php';

                  $connect = mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORT);
                  if ($connect) {
                      if(mysql_select_db($database,$connect)) {
                          $query = "select Name from Link Where 1";
                          $result = mysql_query($query, $connect);
                          if ($result) {
                              $data = mysql_fetch_array($result);
                              while($data) {
                                  echo $data["Name"], "<br>";
                                  $data = mysql_fetch_array($result);
                              }
                          }
                      }
                      mysql_close ($connect);
                  }
              ?>

              Kommentar


              • #8
                Suche nach register_globals, das Problem hat jeder Newbie heut'zutage

                Kommentar


                • #9
                  Sicher das es nicht an etwas anderem liegen kann? denn wenn ich folgenden code ausführe:

                  PHP-Code:
                  <?
                      include 'config.inc.php';

                      $connect = mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORT);
                      if ($connect) {
                          if(mysql_select_db($database,$connect)) {
                              $query  = "INSERT INTO Link VALUES ('[B]blub[/B]')";    
                              $result = mysql_query($query, $connect);
                          }
                          mysql_close ($connect);
                      }
                  ?>
                  also schon den Inhalt "blub" vorgebe, funktioniert das ganze...

                  Kommentar

                  Lädt...
                  X