MySQL will nicht mit PHP Code

DarkRaver

Erfahrenes Mitglied
Hallo!
MySQL ist ein sehr heikles Thema zumindest für einen blutigen Anfänger.
Ich möchte aus einem Kontaktformular die Daten per $_POST übertragen und dann in eine MySQL Datenbank speichern. Das übermitteln mittels POST funktioniert auch, da ich alles per echo ausgebe. Aber er möchte einfach nicht die Daten in die MySQL-Datenbank reinschmeißen. Hier ist einmal der Aufbau zur Datenbank:

PHP:
<?php
$sql_prefix = 'hp_';
$sql_host = 'localhost';
$sql_user =  'root'; 
$sql_pass = ''; 
$sql_db = 'hp';

$prefix = $sql_prefix;
$db = array("host" =>           $sql_host,
            "user" =>           $sql_user,
            "pass" =>           $sql_pass,
            "db" =>             $sql_db,
            "kontakt" =>        $prefix."kontakt" );
			
@mysql_connect($db['host'],$db['user'],$db['pass']);
@mysql_select_db($db['db'],$msql);			
?>

Und dann kommt schon der Eintrag in die MySQL-Datenbank nachdem alles übermittelt wurde:
PHP:
 $mysqldaten = "
 INSERT INTO ".$db['kontakt']."
 (name, email, telefonnummer, website, betreff, nachricht) 
 VALUES 
 ('$kontaktname','$kontaktemail','$kontakttelefonnr','$kontaktwebsite','$kontaktbetreff','$kontaktnachricht')";
 $mysqldatenquery = mysql_query($mysqldaten);
Da ich mir den Fehler mittels
PHP:
 echo mysql_errno() . ": " . mysql_error(). "\n";
ausspucken lasse, sehe ich diesen Fehler:
Code:
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(name, email, telefonnummer, website, betreff, nachricht) VALUES ('Vor Nac' at line 2
Ich verstehe nun absolut nicht, woran es liegen könnte. Deshalb bin ich auf eure Unterstützung angewiesen.
Vielen Dank schon einmal im voraus.

Mfg
 
Versuche es mal so:
PHP:
 $mysqldaten = "INSERT INTO `".$db['kontakt']."` (`name`, `email`, `telefonnummer`, `website`, `betreff`, `nachricht`)  VALUES ('$kontaktname', '$kontaktemail', '$kontakttelefonnr', '$kontaktwebsite', '$kontaktbetreff', '$kontaktnachricht')";
 $mysqldatenquery = mysql_query($mysqldaten);  
 echo $mysqldaten.' '.mysql_errno() . ": " . mysql_error(). "\n";
 
Da die diese Art von Fragen sehr oft kommt, habe ich mal ein Tutorial geschrieben wie man am besten auf Fehlersuche geht.
PHP MySQL Debug Queries
Geh es doch mal durch und falls du die Lösung nicht findest, poste mal das ausgegebe SQL-Statement ins Forum.

Am besten postest du mal ein echo vom $mysqldaten

Achja, nur so nebenbei. SQLs kann man auch in PHP farmatiert schreiben, so dass sie lesbar werden
PHP:
$mysqldaten = 
"INSERT INTO `{$db['kontakt']}` 
    (
        `name`, 
        `email`, 
        `telefonnummer`, 
        `website`, 
        `betreff`, 
        `nachricht`
     )  
     VALUES (
        '{$kontaktname}', 
        '{$kontaktemail}', 
        '{$kontakttelefonnr}', 
        '{$kontaktwebsite}', 
        '{$kontaktbetreff}', 
        '{$kontaktnachricht}'
      )";
 
Zuletzt bearbeitet:
Wunderbar das funktioniert. Außerdem hab ich den Fehler gemacht in der index.php die mysql.php, wo ja alles drin steht, per require_once zu includen und nicht per include. Naja gut, danke für deine Hilfe :D
 

Neue Beiträge

Zurück