Katsche: Über ein Formular Daten in eine MySql Datenbank schreiben

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)";

}
?>

  1. 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©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.
    1. 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

      1. Moin Tobias,

        Das ist nicht er sondern phpMyAdmin - das maskiert alle Spalten- und Tabellennamen mit einem Backtick.

        danke, man lernt nie aus.

        regds
        Mike©

        --
        Freunde kommen und gehen. Feinde sammeln sich an.
        1. 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®

          --
          Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
          1. Hallo.

            Werte werden, so sie Text sind, trotzdem in Quotas eingeschlossen.

            Wirklich?
            MfG, at

            1. echo $begrüßung;

              Werte werden, so sie Text sind, trotzdem in Quotas eingeschlossen.
              Wirklich?

              Natürlich.

              echo "$verabschiedung $name";

  2. 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