Quindi sto solo imparando i database e voglio essere in grado di memorizzare gli input dell'utente. Qualcuno può darmi un esempio di base su come ottenere i dati del modulo e salvarlo su un database usando php? Anche facendo il modulo di prenotazione da attacchi di SQLcome inserire in mysql usando l'istruzione preparata con php
22
A
risposta
22
sample.html
<form action="sample.php" method="POST">
<input name="sample" type="text">
<input name="submit" type="submit" value="Submit">
</form>
sample.php
<?php
if (isset($_POST['submit'])) {
$mysqli = new mysqli('localhost', 'user', 'password', 'mysampledb');
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$stmt = $mysqli->prepare("INSERT INTO SampleTable VALUES (?)");
$stmt->bind_param('s', $sample); // bind $sample to the parameter
$sample = isset($_POST['sample'])
? $_POST['sample']
: '';
/* execute prepared statement */
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
/* close statement and connection */
$stmt->close();
/* close connection */
$mysqli->close();
}
?>
Questo è un esempio molto semplice. Molti sviluppatori PHP oggi stanno passando a PDO. Mysqli non è ’ t obsoleto, ma DOP è molto più facile, IMHO.
+5
'real_escape_string()' è superfluo. L'intero punto di utilizzo delle istruzioni preparate è di evitare di dover sfuggire manualmente ai valori. –
Partenza DOP: http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html. +1 per voler imparare a farlo bene. :) – Herbert
la sua anche nel manuale di php http://php.net/manual/en/pdo.prepared-statements.php –