Daten in Datenbank übergeben

Bebre

Grünschnabel
Hi,

ich bin absoluter Anfänger.
Habe eine Datenbank per MyAdmin angelegt und Daten eingegeben.

Mit folgendem Script möchte ich Daten von aussen eingegeben: (User, Passwort, dbname geändert)

<html>
<head>
<title>Daten verarbeiten</title>
</head>
<body>
<?php
$host = "localhost";
$user = "dbu1";
$password = "vorhanden";
$dbname = "db1";
$tabelle ="testdb";
$dbverbindung = mysql_connect ($host, $user, $password);
INSERT INTO `db1`.`testdb` (`id`, `header`, `artikel`) VALUES (NULL, \'Peter\', \'Pan\');

$insert = mysql_query($sql);
echo $sql;
mysql_close ($dbverbindung);
?>
</body>
</html>

Die Zeile INSERT INTO `db1`.`testdb` (`id`, `header`, `artikel`) VALUES (NULL, \'Peter\', \'Pan\'); erhalte ich bei MyAdmin als PHP-Code, wenn ich dort die Daten "per Hand" eintrage.

Trotzdem erhalte ich dann folgende Fehlermeldung:


Parse error: syntax error, unexpected T_STRING in /is/htdocs/wp1054451_38G93OTDJR/www/work-8.php on line 13

Welchen syntax-error habe ich verursacht? Habe bereits alles ausprobiert, was mir eingefallen ist.

Auch wenn ich die Zeile so schreibe

$sql=INSERT INTO `db1`.`testdb` (`id`, `header`, `artikel`) VALUES (NULL, \'Peter\', \'Pan\');

oder ändern in $sql="INSERT INTO" `testdb` (id, header, artikel)` .... usw.

bekomme ich die gleiche Fehlermeldung. Vorher schon fast alles ausprobiert.

Auch wenn ich Hochkommas weglasse oder gegen Anführungszeichen tausche oder die \ weglasse gleiche Fehlermeldung. Bin ratlos, wo der syntax error in unexpected T_STRING sein soll.
 
Hi,
so dann fang ich mal an mit all den Punkten... da ich nicht weiß was du bereits alles dazuprogrammiert hast, oder ob das jetzt schon deine Endfassung ist.

1.)Die Datenbankconnection ist prinzipiell in Ordnung
Du solltest noch zusätzlich mit dem Befehl: mysql_select_db("my_db", $dbverbindung);
die Datenbank auswählen mit der gearbeitet werden soll. -> Dadurch fällt bei dem INSERT-Statement das'db1' weg.

2.)Das Insert-Statement hängt einfach in der luft herum...
Eher würde ein Insert-Statement so aussehen:
mysql_query("INSERT INTO testdb (id,header,artikel) VALUES (1,'xxx','yyy')");

Wenn du die ID über autoincrement von der Datenbank aus automatisch erhöhen lässt kannst du diesen Wert gleich weglassen:

mysql_query("INSERT INTO testdb (header,artikel) VALUES ('xxx','yyy')");


Zur weiteren Hilfe kannst du auch noch auf der Seite:

http://www.w3schools.com/php/php_mysql_insert.asp

nachschlagen. Dort wirst du sehr hilfreiche Informationen bzw. Codeschnipsel finden.


hth Vinz
 
Zurück