bammab
Estoy aprendiendo sobre bases de datos y quiero poder almacenar las entradas de los usuarios. ¿Cuál sería un ejemplo básico sobre cómo obtener datos de formulario y guardarlos en una base de datos usando PHP?
También hacer que el formulario sea seguro de ataques SQL.
Herbert
Archivo muestra.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>
Archivo muestra.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();
}
Este es un ejemplo muy básico. Muchos desarrolladores de PHP hoy en día recurren a DOP. Mysqli no está obsoleto, pero PDO sí mucho más fácil, en mi humilde opinión.
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Echa un vistazo a la DOP: phpro.org/tutorials/Introducción-a-PHP-PDO.html. +1 por querer aprender a hacerlo bien. 🙂
– Herbert
13 de octubre de 2011 a las 0:09
También está en el manual de php. php.net/manual/en/pdo.prepared-statements.php
– Lawrence Barsanti
13 de octubre de 2011 a las 0:32