sql >> Base de Datos >  >> RDS >> Mysql

¿Buen tutorial sobre cómo actualizar su base de datos Mysql con un formulario PHP?

Actualizar datos puede ser bastante simple. Comencemos con un formulario, para empezar:

<form method="post" action="submit.php">
  <input type="text" name="id" value="12" />
  <input type="text" name="value" value="Jonathan" />
  <input type="submit" />
</form>

Este formulario enviará los datos a nuestro submit.php script donde podamos manejarlo y pasarlo a nuestra base de datos. Dado que nuestro método de formulario es "publicar", todos nuestros valores se enviarán a través de POST super matriz en PHP (este no es el caso si está utilizando cargadores de archivos). Así que dentro de nuestro submit.php página, podemos imprimir los valores de ID y valor de esta manera:

print $_POST["id"]; // the name of the HTML element is the key
print $_POST["value"]; // again, note that we use the name as the key

Deberá tener cuidado al pasar los valores enviados por el usuario directamente a sus consultas, por lo que es bueno limpiar los datos usando una función como mysql_real_escape_string() :

$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );

Lo siguiente que querremos hacer es colocarlos en una consulta:

$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";

Este es un buen momento para no decir que no lo animo a usar este código de ejemplo en un entorno real. Querrá buscar inyecciones de sql y cómo evitarlas. El código que estoy proporcionando aquí es simplemente un ejemplo. Después de ingresar nuestros valores, la consulta que se ejecutará se verá así:

UPDATE mytable SET value = 'Jonathan' WHERE id = 12

Ahora, para ejecutar esto, necesitamos estar conectados a una base de datos.

$host = "localhost"; 
$user = "root"; 
$pass = "";
$database = "myDatabase";
$conn = mysql_connect($host, $user, $pass) or die( mysql_error() );
        mysql_select_db($database) or die( mysql_error() );

Todo lo que estamos haciendo aquí es almacenar nuestras credenciales de cuenta de usuario de mysql en matrices y pasarlas a una función de conexión. Este código debería ser bastante autoexplicativo, pero avíseme si no está claro.

Una vez que tenga eso, estará listo para ejecutar su consulta. Recuerda que lo almacenamos en una matriz llamada $sql :

$result = mysql_query( $sql ) or die( mysql_error() );

Eso es todo. ¡Lo hiciste! Los datos, suponiendo que nada salió mal, ahora están actualizados en su base de datos. Existen numerosas formas de aumentar la información proporcionada al usuario a través de este script. También vale la pena señalar que querrá desinfectar sus datos incluso antes de permitir que se ejecute el script; si no son datos aceptables (alguien que intenta inyectar sus propias consultas), querrá escupirlos.

Consulte las Funciones de MySQL en la documentación de PHP para obtener más obsequios, ¡y asegúrese de regresar aquí cuando tenga preguntas más específicas!