Ich lerne gerade etwas über Datenbanken und möchte Benutzereingaben speichern können. Was wäre ein einfaches Beispiel dafür, wie man Formulardaten erhält und sie mit PHP in einer Datenbank speichert?
Machen Sie auch das Formular sicher aus SQL-Angriffe.
Datei Beispiel.html
<form action="sample.php" method="POST">
<input name="name" type="text">
<input name="text" type="text">
<input name="submit" type="submit" value="Submit">
</form>
Datei Beispiel.php
<?php
if (isset($_POST['submit'])) {
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'user', 'password', 'mysampledb');
// replace every piece of data in SQL with question mark
$sql = "INSERT INTO SampleTable (name, text) VALUES (?,?)"
// 2 question marks ^^^
// prepare this query
$stmt = $mysqli->prepare($sql);
// bind every variable, adding s for each to the types string
$stmt->bind_param('ss', $_POST['name'], $_POST['text']);
// 2 s letters ^^ ^^ 2 variables ^^
/* Execute prepared statement */
$stmt->execute();
}
Dies ist ein sehr einfaches Beispiel. Viele PHP-Entwickler wenden sich heute an PDO. Mysqli ist nicht veraltet, aber PDO ist es viel einfacher, IMHO.
Schauen Sie sich die PDO an: phpro.org/tutorials/Introduction-to-PHP-PDO.html. +1 für den Wunsch, es richtig zu machen. 🙂
– Herbert
13. Oktober 2011 um 0:09 Uhr
Steht auch im PHP-Handbuch php.net/manual/en/pdo.prepared-statements.php
– Lawrence Barsanti
13. Oktober 2011 um 0:32 Uhr