PHP | MySQL Datenbankverbindung aufbauen mit PDO

Hier zeige ich Dir wie du schnell und einfach eine MySQL Datenbankverbindung herstellen kannst. In meinem Beispiel befülle ich die Datenbank mit den Daten aus einem Textfeld und dem aktuellen Timestamp.

Für die Variable $paket benötigen wir einen Wert der aus einem Textfeld kommt.

<form action="" method="post">
  <input id="paket" name="paket" type="text" value="">
  <input name="abschicken" type="submit" value="Eintragen">
</form>
$username = DEIN_MYSQL_BENUTZERNAME;
$password = DEIN_PASSWORD;

if ( isset( $_POST[ 'abschicken' ] ) ) : // wenn der Eintragen Button geklickt wird
  if (!empty($_POST[ 'paket' ]))  : // und wenn in dem Textfeld auch was drin steht

    $timestamp = time();
    $paket = $_POST[ 'paket' ];   

    try {
      $pdo = new PDO('mysql:host=localhost;dbname=DATENBANKNAME;charset=utf8', $username, $password); // Datenbankverbindung aufbauen
    } catch (PDOException $e) {
      echo 'Verbindung fehlgeschlagen: ' . $e->getMessage();
    }

    $statement = $pdo->prepare("INSERT INTO dein_tabellennamen (tstamp, paket) VALUES (?, ?)");
    $statement->execute(array($timestamp, $paket)); 

    $pdo = null; // Datenbankverbindung schließen

    echo '<div class="anzeige">' . htmlspecialchars($paket) . ' erfolgreich in die Datenbank eingetragen.</div>';
  endif;
endif; 

Die zugehörige SQL-Query für die Datenbank ist folgende.

CREATE TABLE dein_tabellennamen (
  uid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  tstamp INT(10) UNSIGNED DEFAULT '0' NOT NULL,
  paket VARCHAR(80) NOT NULL,
)

Die Basis wäre damit gegeben. Die Datenbankverbindung steht und die Daten werden eingetragen. Natürlich ist das Skript noch ausbaufähig. Du könntest z.B. noch eine Session öffnen und beim schreiben in die Datenbank vergleichen, ob es diese Session schon gibt. Damit kannst Du Duplikate verhindern. Aber das ist dann ein anderes Thema.

* Werbung/Affiliate Link
Aktien und ETFs kaufen

Schreibe einen Kommentar

Erforderliche Felder sind entsprechend markiert.

Wird nicht veröffentlicht.