Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Bom tutorial sobre como atualizar seu banco de dados Mysql com um formulário PHP?


A atualização de dados pode ser bastante simples. Vamos começar com um formulário, para começar:
<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 formulário enviará os dados para o nosso submit.php script onde podemos lidar com isso e passá-lo para nosso banco de dados. Como nosso método de formulário é "post", todos os nossos valores serão enviados através do POST super array em PHP (este não é o caso se você estiver usando uploaders de arquivos). Então, dentro do nosso submit.php página, podemos imprimir os valores de ID e Valor assim:
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

Você deve ter cuidado ao passar valores enviados pelo usuário diretamente em suas consultas, então é bom limpar os dados usando uma função como mysql_real_escape_string() :
$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );

A próxima coisa que queremos fazer é colocá-los em uma consulta:
$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";

Este é um bom momento para não dizer que não encorajo você a usar este código de exemplo em um ambiente ao vivo. Você vai querer procurar sql-injections e como evitá-los. O código que estou fornecendo aqui é apenas um exemplo. Depois que nossos valores são inseridos, a consulta que será executada realmente se parece com isso:
UPDATE mytable SET value = 'Jonathan' WHERE id = 12

Agora, para executar isso, precisamos estar conectados a um banco de dados.
$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() );

Tudo o que estamos fazendo aqui é armazenar nossas credenciais mysql-user-account em arrays e passá-las para uma função connect. Este código deve ser bastante autoexplicativo, mas deixe-me saber se não estiver claro.

Depois de conseguir isso, você está pronto para executar sua consulta. Lembre-se que nós o armazenamos em um array chamado $sql :
$result = mysql_query( $sql ) or die( mysql_error() );

É isso. Você fez isso! Os dados, supondo que nada deu errado, agora estão atualizados em seu banco de dados. Existem várias maneiras de aumentar as informações fornecidas ao usuário por meio desse script. Também vale a pena notar que você desejará higienizar seus dados antes mesmo de permitir que o script seja executado - se não forem dados aceitáveis ​​(alguém tentando injetar suas próprias consultas), você desejará cuspi-los de volta.

Confira as Funções MySQL na Documentação do PHP para mais guloseimas, e não se esqueça de voltar aqui quando tiver perguntas mais específicas!