title: PHP - Inserting into database don´t work
body: <p>When I am trying to do a new insert, I receive the following error:
  <a href="https://i.stack.imgur.com/nF1Wd.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/nF1Wd.png" alt=""></a></p>
  
  <blockquote>
    <p>Verbindung fehlgeschlagen: SQLSTATE[42000]: Syntax error or access violation: 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 'join Strecke on pk_fk_Strecke = pk_Strecke' at line 4</p>
  </blockquote>
  
  <p>This is my php file so far:</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html&gt;
  &lt;head&gt;
      &lt;meta charset="utf-8"&gt;
      &lt;title&gt; PHP F1 - Datenbank&lt;/title&gt;
      &lt;style&gt;
          button {
              margin:5px;
              margin-left:-0px;
          }
          .insert {
              position:relative;
              margin:0px;
              margin-bottom:5px;
              margin-top:-25px;
          }
      &lt;/style&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;h2&gt; Insert Dokument für deine Datens&amp;auml;tze ! &lt;/h2&gt;
  &lt;form action="F1_PHP.php" method="post"&gt;
      &lt;input type="text" name="jahr" placeholder="2015-11-21"&gt; &lt;br&gt;&lt;br&gt;
      &lt;input type="text" name="sieger" placeholder="Sieger"&gt; &lt;br&gt;&lt;br&gt;
      &lt;input type="text" name="schnellster" placeholder="1:32:301"&gt; &lt;br&gt;&lt;br&gt;
      &lt;input type="text" name="strecke" placeholder="Strecke"&gt;&lt;br&gt;&lt;br&gt;
      &lt;input type="submit" name="formdaten" class="insert" value="Insert"&gt;  &lt;br&gt;
  &lt;/form&gt;
  &lt;?php
  //phpinfo();
  /***
   * This document contains a demonstration for accessing a
   * MySQL Demo Database via PDO and OOP
   * we connect to MySQL but its easy to exchange the underlying
   * database (e.g. to Oracle) without having to alter the PHP code.
   *
   * Database:    MySQL on localhost (XAMPP)
   * Codebase:    PHP OOP
   */
  
  // We use PDO to do a database connection and require the functionality
  
  try {
  
      $server   = 'mysql:dbname=f1;host=localhost';
      $user     = 'root';
      $password = '';
      $options  = array
              (
                PDO::MYSQL_ATTR_INIT_COMMAND =&gt; 'SET NAMES utf8',
              );
      $pdo      = new PDO($server, $user, $password, $options);
  
      // because we have default errormode_silent we change to ERRMODE_EXCEPTION
  
      $pdo -&gt; setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      if(isset($_POST["formdaten"])) {
          $jahr = $_POST["jahr"];
          $sieger = $_POST["sieger"];
          $schnellster = $_POST["schnellster"];
          $strecke = $_POST["strecke"];
  
          $eintrag = $pdo-&gt;prepare("INSERT INTO Rennen
      (pk_jahr, sieger, SchnellsteRunde, pk_fk_strecke)
      VALUES
      (?, ?, ?, ?) join Strecke on pk_fk_Strecke = pk_Strecke");
  
          $eintrag -&gt;execute(array($jahr,$sieger, $schnellster, $strecke));
  
          if($eintrag == true) {
              echo "Eintrag war erfolgreich";
          } else {
              echo "Fehler";
          }
      }
  
  
      } 
  catch (PDOException $error) {
      echo 'Verbindung fehlgeschlagen: ' . $error-&gt;getMessage();
      //print_r($error);
  }
  
  ?&gt;
  
  &lt;/body&gt;
  
  
  &lt;table border="1"&gt;
  &lt;tr&gt;
     &lt;th&gt; &lt;/th&gt;
     &lt;th&gt; Jahr               &lt;/th&gt;
     &lt;th&gt; Sieger             &lt;/th&gt;
     &lt;th&gt; Schnellste Runde   &lt;/th&gt;
     &lt;th&gt; Strecke            &lt;/th&gt;
  &lt;/tr&gt;
   &lt;?php
   try {
     $query= 'SELECT pk_Jahr,Sieger,SchnellsteRunde,pk_fk_Strecke
                   FROM Rennen join Strecke on pk_fk_Strecke = pk_Strecke
                     order by pk_Jahr';
     $stmt   = $pdo -&gt; query($query);
      while( $row = $stmt-&gt;fetch(PDO::FETCH_ASSOC) )
        {
         echo '&lt;tr&gt;';
           echo ' &lt;td&gt;'."&lt;input type='radio' name='markiert'&gt;".'&lt;/td&gt;'; 
           echo ' &lt;td&gt;'. $row["pk_Jahr"].'&lt;/td&gt;';
           echo ' &lt;td&gt;'.   $row["Sieger"]. '&lt;/td&gt;';
           echo ' &lt;td&gt;'.   $row["SchnellsteRunde"]. '&lt;/td&gt;';
           echo ' &lt;td&gt;'.   $row["pk_fk_Strecke"]. '&lt;/td&gt;';
         echo '&lt;/tr&gt;';
         }
      echo '&lt;/table&gt;';
  } 
  catch (PDOException $error) {
      echo 'Fehler beim Lesen der Daten ' . $error-&gt;getMessage();
  }   
  ?&gt; 
  &lt;input type="submit" name="delete" value="Delete"&gt;
  &lt;input type="submit" name="update" value="Update"&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>I read on a website, that it will work like this, but in my case it throws a exception and I don´t know why.</p>
  
  <p>My database looks like this</p>
  
  <pre><code>create table Sponsoren( 
      pk_Firma    varchar(100) primary key, 
      Ausgaben    decimal(10,2), 
      Firmensitz  varchar(100), 
      Kontakt     varchar(100)
  ); 
  
  create table Strecke(
      pk_Strecke  varchar(100) primary key, 
      Land        varchar(100), 
      Stadt       varchar(100), 
      Laenge      varchar(30)
  );
  
  create table Rennen( 
      pk_Jahr         date,  
      pk_fk_Strecke   varchar(100), 
      SchnellsteRunde varchar(100),  
      Sieger          varchar(100),
  
      primary key(pk_Jahr,pk_fk_Strecke),
      constraint RennenStrecke foreign key(pk_fk_Strecke) references Strecke(pk_Strecke)
  ); 
  
  create table Schmierstoffe ( 
      pk_SSName       varchar(100) primary key, 
      ersterEinsatz   date, 
      letzterEinsatz  date, 
      Rennteilnahmen  int, 
      Siege           int, 
      Podeste         int, 
      Punkte          decimal(12,2) 
  );
  
  create table Reifenhersteller ( 
      pk_RHName    varchar(100) primary key, 
      Luftdruck    decimal(10,2), 
      AnzahlRennen int, 
      Siege        int
  ); 
  
  create table Motorenhersteller ( 
      pk_MHName       varchar(100) primary key, 
      Nation          varchar(100), 
      Motorname       varchar(100),
      istAktiv        boolean, 
      letztesRennen   date, 
      erstesRennen    date
  );
  
  
  create table Manufaktur ( 
      pk_MFName   varchar(100) primary key, 
      Strasse     varchar(100), 
      Ort         varchar(100), 
      PLZ         varchar(100), 
      TelNr       varchar(100), 
      Email       varchar(100), 
      FaxNr       varchar(100) 
  ); 
  
  
  create table Hersteller ( 
      pk_HSName       varchar(100) primary key, 
      fk_MFName       varchar(100),
      istAktiv        boolean, 
      AnzahlRennen    int, 
      letztesRennen   date, 
      erstesRennen    date,
  
      constraint HersMF foreign key(fk_MFName) references Manufaktur(pk_MFName)
  ); 
  
  
  create table Team ( 
      pk_Teamname     varchar(100) primary key, 
      fk_RHName       varchar(100), 
      fk_MHName       varchar(100), 
      fk_HSName       varchar(100),
      istAktiv        boolean, 
      erstesRennen    date, 
      letzesRennen    date, 
  
      constraint RH foreign key(fk_RHName) references Reifenhersteller(pk_RHName),
      constraint MH foreign key(fk_MHName) references Motorenhersteller(pk_MHName),
      constraint HS foreign key(fk_HSName) references Hersteller(pk_HSName)
  ); 
  
  create table Fahrer( 
      pk_FahrerNr     int primary key, 
      Nation          varchar(100),
      Vorname         varchar(100), 
      Nachname        varchar(100), 
      fk_Teamname     varchar(100),  
      GebDatum        date, 
      Einsätze        int, 
      Siege           int,
  
      constraint Team foreign key(fk_Teamname) references Team(pk_Teamname)
  ); 
  
  
  create table Rekorde ( 
      pk_Beschreibung varchar(100), 
      fk_FahrerNr     int,  
      Jahr            date,  
      fk_Strecke      varchar(100),
  
      constraint ST foreign key(fk_Strecke) references Strecke(pk_Strecke)
  ); 
  
  create table Rennen_hat_Fahrer ( 
      pk_Jahr                 date, 
      pk_fk_FahrerNr          int, 
      pk_fk_Strecke           varchar(100), 
      Endplatzierung          int, 
      Qualifingplatzierung    int, 
      Qualizeit               varchar(100), 
      Strafversetzung         varchar(10),
  
      primary key(pk_Jahr, pk_fk_FahrerNr,pk_fk_Strecke),
      constraint RF foreign key(pk_fk_FahrerNr) references Fahrer(pk_FahrerNr),
      constraint RS foreign key(pk_fk_Strecke) references Strecke(pk_Strecke)
  );
  
  create table Rennen_hat_Sponsoren ( 
      pk_fk_Jahr      date, 
      pk_fk_Firma     varchar(100),
  
      primary key(pk_fk_Jahr,pk_fk_Firma),
      constraint RSJ foreign key(pk_fk_Jahr) references Rennen(pk_Jahr),
      constraint RSF foreign key(pk_fk_Firma) references Sponsoren(pk_Firma)
  ); 
  
  create table Manufaktur_hat_Schmierstoffe ( 
      pk_fk_MFName    varchar(100), 
      pk_fk_SSName    varchar(100),
  
      primary key(pk_fk_MFName, pk_fk_SSName),
      constraint MSM foreign key(pk_fk_MFName) references Manufaktur(pk_MFName),
      constraint MSS foreign key(pk_fk_SSName) references Schmierstoffe(pk_SSName)
  ); 
  </code></pre>