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.
Weitere Beiträge
Vom Außenseiter zum Insider: Wie du als Quereinsteiger eine Karriere im IT-Bereich starten kannst.
TYPO3 - Eine News mit Kategorien über Powermail-Formular erstellen
PHP 7 | Ein einfacher Fileupload mit PHP
TYPO3 8.7 - Kein Feld für Alt-Tag und Link bei File Abstraction Layer (FAL)