Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

MySQL - Datensätze erzeugen

Ich hab neulich angefangen mit PHP zu arbeiten. Jetzt möchte ich, das ich durch ein Formular Datensätze in meine MySQL datenbank schreiben kann! Ich habs bereits einmal geschafft, aber jetzt gehts nicht mehr. Da wo die x's sind, sind normalerweise die Daten für die Datenbank. Da stimmt auch alles, das ist nicht das Problem. Weiß jemand was ich falsch mach? Muss eigentlich am Code liegen.. Wär für Hilfe dankbar.


<html>
<head>
<?php
   if ($gesendet)
   {
      $db = mysql_connect(x, x, x);

      $sqlab = "insert gaestebuch";
      $sqlab .= "(name, email, icq, homepage, eintrag";
      $sqlab .= " homepage, eintrag) values ";
      $sqlab .= "('$name', '$email', '$icq', '$homepage', '$eintrag')";

      mysql_db_query("usr_web155_1", $sqlab);

      $num = mysql_affected_rows();
      if ($num>0)
         echo "Es wurde 1 Eintrag hinzugefügt<p>";
      else
      {
         echo "Es ist ein Fehler aufgetreten, ";
         echo "es wurde kein Eintrag hinzugefügt<p>";
      }
      mysql_close($db);
   }
?>
</head>

<body>
Geben Sie einen vollständigen Datensatz ein und senden Sie das
Formular ab:
<form action = "uf13.php" method = "post">
    <input name="name"> Name<p>
    <input name="email"> eMail<p>
    <input name="icq"> ICQ<p>
    <input name="homepage"> Homepage<p>
    <input name="eintrag">
                 Eintrag<p>
    <input type="submit" name="gesendet">
    <input type="reset">
</form>


</body>
</html>


Antworten zu MySQL - Datensätze erzeugen:


$sqlab = "insert gaestebuch";
$sqlab .= "(name, email, icq, homepage, eintrag";
$sqlab .= " homepage, eintrag) values ";
$sqlab .= "('$name', '$email', '$icq', '$homepage', '$eintrag')";

Ergibt

insert gaestebuch (name, email, icq, homepage, eintrag homepage, eintrag) values ('$name', '$email', '$icq', '$homepage', '$eintrag')

Da fehlt erstens ein Komma zwischen 2 Spalten-Namen, und ausserdem schreibst du in 2 Spalten doppelt ohne Werte dafür anzugeben. Naja, bin jetzt nicht so der SQL-Experte aber das sieht irgendwie nicht richtig aus.

Nee, dann geht gar nichts mehr.  :(
Trotzdem danke

Wie, "dann" geht garnichts mehr?
Was geht denn überhaupt?
Das müsste doch eigentlich ne art SQL error geben in der Form wie dus am Anfang gepostet hast...

Oder wird garnichts ausgeführt?
Das liegt dann vielleicht daran, dass der submit button name nicht als Variable übertragen wird, vielleicht musst du da irgendson verstecktes element übertragen das sagt dass gesendet wurde.

Wenn ichs so wie oben mach, wirds so:

http://deadness.de/php/uf13.php

Und wenn ichs so mach, wie du's mir gesagt hast, kommt gleich eine Fehlermeldung!

'Ne Fehlermeldung' ist KEINE Fehlermeldung.

Die Tatsache, dass wenn ich da Daten eingeb und Submitte, gar keine der echo-Ausgaben kommt, sagt mir, dass der Code garnicht ausgeführt wird...

11.1. Wie übergebe ich Variablen aus einem Formular an ein PHP-Script?

Ersetze also

if( $gesendet )...

durch irgendwas wie:
if( $_POST['gesendet'] )

Dann funktioniert es wahrscheinlich zwar immer noch nicht, aber Deine Abfrage wird wenigstens aufgerufen...

« Access AbfrageVB 6 - Anfänger Prob »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...

Haarstrich
Der Begriff Haarstrich stammt aus dem Bereich der Typographie. Bei Schriften, wie zum Beispiel der Antiquaschrift mit unterschiedlichen Strichstärken, wird zwischen ...

PHP
PHP steht für Personal Home Page und ist eine Skriptsprache die meist verwendet wird zur dynamischen Erzeugen von Internetseiten. PHP zeichnet sich durch die weite D...