Tom: Deine Vorgehensweise. Bremse auch für Programmierer ;-)

Beitrag lesen

Hello Sarah,

Stimmt das mit den ganzen ' und " auch? Hatte es nämlich ja erst ander herum, also anstatt " ' und anstatt '". Da war alles ok.

Das hängt davon ab, ob PHP noch etwas ersetzen soll, oder nicht.
Ich bevorzuge diese Variante.
http://de3.php.net/manual/en/language.types.string.php

Habe eine einfache datenbankstruktur und -Skript mal aufgebaut. Klappt aber trotzdem nicht.
<?php

error_reporting', E_ALL;                       ### ist eine eigene Funktion

include ('config2.php');

>

if( isset($_POST['submit']) )

{
    $sarah = mysql_connect ($host, $user)        ### wo ist das Passwort geblieben?
     or die("keine Verbindung ".mysql_error());  ### wenn es schief geht, kann hier noch kein
                                                 ### echter MySQL-Error kommen. Es gibt dann ja
                                                 ### keine Verbindung zur DB

$link = mysql_select_db($dbname,$sarah)
  or die(mysql_error());

$dbanfrage = "

INSERT into test
SET
  name       = '".mysql_real_escape_string($_POST['name'])      ."', ".    ## $_POST, nicht $POST
  vorname    = '".mysql_real_escape_string($_POST['vorname'])   ."', ".    ## $_POST, nicht $POST
  geburtstag = '".mysql_real_escape_string($_POST['geburtstag'])."'";

$res = mysql_query($dbanfrage,$sarah);      ### wo hattest Du das denn gelassen?

if (mysql_error($sarah)==0)
     {
       echo "<p>Eintragung war erfolgreich</p>\n";
     }
     else
     {
       echo mysql_error($sarah);
     }
  }

?>

Du hattest die Hälfte vergessen.
Es heißt $_POST und nicht $POST. da hätte es aber eigentlich eine Notice geben müssenDu hattest allerdings nicht die Funktion error_reporting() aufgerufen, sondern ein ini_set().
Außerdem gehört das dann ganz an den Anfang. im include() kann schließlich auch schon was fehlen....

Es gibt die explizite Variante mit

INSERT into tablename SET ...

http://dev.mysql.com/doc/refman/5.1/en/insert.html

Es waren keine Häkchenfehler zu finden. Da hat Rouven mMn selber schief geschaut.

Versuche es so nochmal.
Kann es sein, dass Dein Editor beim Abspeichern "merkwürdige Zeichen" abspeichert?
Ich entnehme dem Pfad in der Fehlermeldung, dass Du mit XAMPP arbeitest.
Hast Du z.B. auch Heidi-SQL installiert, um direkt mit der DB Übungen machen zu können?
das ist sehr zu empfehlen, denn über Heidi odre einen phpMyAdmin kannst Du Statements "mal eben schnell" in einem Frontend testen, bevor Du sie in den PHP-Code übernimmst.

http://www.heidisql.com/

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)