Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dobry poradnik, jak zaktualizować bazę danych Mysql za pomocą formularza PHP?

Aktualizacja danych może być całkiem prosta. Zacznijmy od formularza, na początek:

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

Ten formularz prześle dane do naszego submit.php skrypt, w którym możemy go obsłużyć i przekazać do naszej bazy danych. Ponieważ nasza metoda formularza to „post”, wszystkie nasze wartości zostaną wysłane przez POST super array w PHP (nie dotyczy to programów do przesyłania plików). Więc w naszym submit.php strony, możemy wydrukować wartości ID i Value w następujący sposób:

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

Należy uważać na przekazywanie wartości przesłanych przez użytkownika bezpośrednio do zapytań, więc dobrze jest wyczyścić dane za pomocą funkcji takiej jak mysql_real_escape_string() :

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

Następną rzeczą, którą będziemy chcieli zrobić, to umieścić je w zapytaniu:

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

To dobry moment, aby nie mówić, że nie zachęcam do używania tego przykładowego kodu w środowisku na żywo. Będziesz chciał sprawdzić wstrzykiwanie sql i jak ich uniknąć. Kod, który tu przedstawiam, jest tylko przykładem. Po wprowadzeniu naszych wartości zapytanie, które zostanie wykonane, wygląda tak:

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

Teraz, aby to uruchomić, musimy być połączeni z bazą danych.

$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() );

Wszystko, co tutaj robimy, to przechowywanie naszych danych uwierzytelniających mysql-user-account w tablicach i przekazywanie ich do funkcji connect. Ten kod powinien być dość oczywisty, ale daj mi znać, jeśli jest w ogóle niejasny.

Gdy już to zrobisz, możesz uruchomić zapytanie. Pamiętaj, że zapisaliśmy go w tablicy o nazwie $sql :

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

Otóż ​​to. Zrobiłeś to! Dane, zakładając, że nic nie poszło nie tak, są teraz aktualizowane w Twojej bazie danych. Istnieje wiele sposobów na zwiększenie informacji przekazywanych użytkownikowi za pomocą tego skryptu. Warto również zauważyć, że będziesz chciał oczyścić swoje dane, zanim nawet pozwolisz na uruchomienie skryptu – jeśli nie są to akceptowane dane (ktoś próbuje wstrzyknąć własne zapytania), będziesz chciał je odrzucić.

Sprawdź Funkcje MySQL w dokumentacji PHP po więcej smakołyków i wróć tutaj, gdy będziesz mieć bardziej szczegółowe pytania!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Domyślne hasło mysql na serwerze ubuntu 16.04

  2. Różnica MySQL między dwoma znacznikami czasu w sekundach?

  3. Monitorowanie postępu długich zapytań MySQL

  4. MySQL Case w instrukcji Select z operatorem LIKE

  5. Oblicz różnicę czasu między dwoma rzędami