Así que estoy aprendiendo acerca de las bases de datos y quiero poder almacenar las entradas de los usuarios. ¿Puede alguien darme un ejemplo básico sobre cómo obtener datos de formulario y guardarlo en una base de datos usando php? También haciendo el formulario seguro de ataques SQLcómo insertar en mysql utilizando la declaración preparada con php
22
A
Respuesta
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();
}
?>
Este es un ejemplo muy básico. Muchos desarrolladores de PHP hoy están recurriendo al PDO. Mysqli isn ’ t obsoleto, pero PDO es mucho más fácil, en mi humilde opinión.
+5
'real_escape_string()' es superfluo. El objetivo de usar declaraciones preparadas es evitar tener que escapar de los valores manualmente. –
Cuestiones relacionadas
- 1. Cómo insertar una matriz en una única declaración preparada de MySQL con PHP y PDO
- 2. Cómo crear una declaración preparada segura de mysql en php?
- 3. Problema con la declaración preparada de ACTUALIZACIÓN en PHP
- 4. Declaración preparada de PHP PDO - MySQL LIKE query
- 5. Una declaración preparada, `DONDE EN .. (..)` consulta y clasificación - con MySQL
- 6. Cuándo cerrar la declaración preparada
- 7. Java enum a mysql enum en la declaración preparada
- 8. PHP MySQLi consulta múltiple declaración preparada
- 9. declaración preparada de mysqli con fetch_assoc
- 10. Usando SqlDBType.Decimal en la declaración preparada C#
- 11. Usando PHP, MySQLi y la declaración preparada, ¿cómo devuelvo la identificación de la fila insertada?
- 12. ¿Se puede usar una declaración preparada en MySQL con "On Duplicate Key Update"?
- 13. cuándo utilizar la declaración sobre la declaración preparada?
- 14. PHP MYSQL Insertar/Actualizar
- 15. Cómo deshacerse del error de MySQL 'Se debe volver a preparar la declaración preparada'
- 16. palabra clave LIMIT en MySQL con instrucción preparada
- 17. ¿Cómo obtener el número de lotes en la declaración preparada?
- 18. Usar comodines en una declaración preparada - MySQLi
- 19. PHP/MySQL Insertar valores nulos
- 20. argumentos repetidos en una declaración preparada
- 21. Declaración frente a declaración preparada en términos de precompilación
- 22. PHPUnit - Cómo simular la declaración preparada de PDO
- 23. Declaración preparada de Mysqli en bindParam() no funciona
- 24. php mysql insertar en utf-8
- 25. ¿Reutilización de una declaración preparada entre métodos?
- 26. Uso de la declaración preparada varias veces de manera eficiente
- 27. ¿Cómo obtener el resultado escalar de una declaración preparada?
- 28. MySQL Unirse con Insertar combinado?
- 29. ¿Cómo puedo pasar las funciones de MySQL como parámetros de enlace en una declaración preparada?
- 30. Declaración preparada de MySQLi que devuelve falso
Consulte la DOP: http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html. +1 por querer aprender a hacerlo bien. :) – Herbert
También está en el manual php http://php.net/manual/en/pdo.prepared-statements.php –