Über ein Formular Daten in eine MySql Datenbank schreiben
Katsche
- php
0 Mike©0 Tobias Kloth
Hallo zusammen,
ich versuche die Daten in eine MySQL Datebbank zu übergeben.
Er schreibt sie aber nicht rein. Was mache ich falsch?
Hier mein PHP Code
Vielen Dank
<?PHP
$mysqlhost="212.266.11.22"; // MySQL-Host angeben
$mysqluser="spedition"; // MySQL-User angeben
$mysqlpwd="******"; // Passwort angeben
$mysqldb="portal"; // Gewuenschte Datenbank angeben
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
if (count($_POST)>0){
$aakdname = $_POST['aakdname'];
$aavernr = $_POST['aavernr'];
$aavername = $_POST['aavername'];
$aaverplz = $_POST['aaverplz'];
$aaverort = $_POST['aaverort'];
$aaverladeort = $_POST['aaverladeort'];
$aaempnr = $_POST['aaempnr'];
mysql_query ="INSERT INTO touren (kdname
, vernr
, vername
, verplz
, verort
, verladeort
, empnr
)
VALUES 'aakdname', 'aavernr', 'aavername', 'aaverplz', 'aaver ort', 'aaverladeort', 'aaempnr)";
}
?>
Moin Katsche,
mysql_query ="INSERT INTO touren (
kdname
,vernr
,vername
,verplz
,verort
,verladeort
,empnr
)
VALUES 'aakdname', 'aavernr', 'aavername', 'aaverplz', 'aaver ort', 'aaverladeort', 'aaempnr)";
was für eine Fehlermeldung bietet Dir MySQL an?
Die Anführungszeichen, bei den Spaltennamen, gehören da nicht hin.
Bei aaempnr fehlt ein schließendes Anführungszeichen.
Warum benutzt Du ` und nicht ' ?
So far.
regds
Mike©
Hallo Mike,
Warum benutzt Du ` und nicht ' ?
Das ist nicht er sondern phpMyAdmin - das maskiert alle Spalten- und Tabellennamen mit einem Backtick.
Grüße aus Nürnberg
Tobias
Moin Tobias,
Das ist nicht er sondern phpMyAdmin - das maskiert alle Spalten- und Tabellennamen mit einem Backtick.
danke, man lernt nie aus.
regds
Mike©
Moin!
Das ist nicht er sondern phpMyAdmin - das maskiert alle Spalten- und Tabellennamen mit einem Backtick.
Richtig ist das übrigens auch: so kann mysql unterscheiden, was gemeint ist. Darüber hinaus können wohl Spalten, Tabellen oder Datenbanken auch Namen mit z.B. Leerzeichen haben.... und dann wird aus dem kann in Backticks eingeschlossen werden
ein muss in Backticks eingeschlossen werden
. Werte werden, so sie Text sind, trotzdem in Quotas eingeschlossen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
echo $begrüßung;
Werte werden, so sie Text sind, trotzdem in Quotas eingeschlossen.
Wirklich?
echo "$verabschiedung $name";
Hallo Katsche,
mysql_query ="INSERT INTO touren [...]
Was wird denn das? falls "mysql_query" eine Variable sein soll, muss da noch ein '$' davor. Ich vermute aber mal, dass du eher sowas machen willst:
$query = "INSERT INTO touren [...]"; // Query einer Variablen zuweisen
mysql_query($query,$connection) or die(mysql_error()); // Query ausführen und ggf. Fehlermeldung ausgeben
VALUES 'aakdname', 'aavernr', 'aavername', 'aaverplz', 'aaver ort', 'aaverladeort', 'aaempnr)";
Falls du hier die oben definierten Variablen einbauen willst, fehlt auch hier ein '$', außerdem solltest du ein dem Fall _dringend_ http://www.php-faq.de/q/q-sql-injection.html und http://www.php-faq.de/q/q-sicherheit-parameter.html lesen.
Grüße aus Nürnberg
Tobias