Variable in einen MySQL Befehl einfügen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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);
        }
    ?>

    Comment


    • #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);
          }
      ?>
      Last edited by Bastard2604; 15-02-2006, 20:12.

      Comment


      • #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;


        Last edited by asp2php; 15-02-2006, 20:18.

        Comment


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

          Comment


          • #6
            du hast meine Frage nicht geantwortet!

            Comment


            • #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);
                  }
              ?>

              Comment


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

                Comment


                • #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...

                  Comment

                  Working...
                  X