Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hướng dẫn tốt về cách cập nhật cơ sở dữ liệu Mysql của bạn với một biểu mẫu PHP?

Cập nhật dữ liệu có thể khá đơn giản. Hãy bắt đầu với một biểu mẫu, dành cho người mới bắt đầu:

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

Biểu mẫu này sẽ gửi dữ liệu đến submit.php của chúng tôi script nơi chúng tôi có thể xử lý nó và chuyển nó vào cơ sở dữ liệu của chúng tôi. Vì phương thức biểu mẫu của chúng tôi là "post", tất cả các giá trị của chúng tôi sẽ được gửi qua POST siêu mảng trong PHP (trường hợp này không xảy ra nếu bạn đang sử dụng trình tải lên tệp). Vì vậy, trong submit.php của chúng tôi , chúng tôi có thể in các giá trị ID và Giá trị như thế này:

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

Bạn sẽ muốn cẩn thận về việc chuyển trực tiếp các giá trị do người dùng gửi vào các truy vấn của mình, vì vậy, thật tuyệt khi xóa dữ liệu bằng một hàm như mysql_real_escape_string() :

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

Điều tiếp theo chúng tôi muốn làm là đặt chúng vào một truy vấn:

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

Đây là thời điểm tốt để không nói rằng tôi không khuyến khích bạn sử dụng mã ví dụ này trong môi trường trực tiếp. Bạn sẽ muốn tra cứu việc tiêm sql và cách tránh chúng. Đoạn mã mà tôi đang cung cấp ở đây chỉ là một ví dụ. Sau khi các giá trị của chúng tôi được nhập, truy vấn sẽ được chạy thực sự trông giống như sau:

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

Bây giờ, để chạy điều này, chúng tôi cần được kết nối với cơ sở dữ liệu.

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

Tất cả những gì chúng tôi đang làm ở đây là lưu trữ thông tin đăng nhập tài khoản người dùng mysql của chúng tôi trong các mảng và chuyển chúng vào một hàm kết nối. Mã này phải khá dễ hiểu, nhưng hãy cho tôi biết nếu nó không rõ ràng.

Khi bạn đã có điều đó, bạn đã sẵn sàng chạy truy vấn của mình. Hãy nhớ rằng chúng tôi đã lưu trữ nó trong một mảng có tên là $sql :

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

Đó là nó. Bạn làm được rồi! Dữ liệu, giả sử không có gì sai, hiện đã được cập nhật trong cơ sở dữ liệu của bạn. Có nhiều cách bạn có thể tăng thông tin được cung cấp lại cho người dùng thông qua tập lệnh này. Cũng cần lưu ý rằng bạn sẽ muốn làm sạch dữ liệu của mình trước khi cho phép tập lệnh chạy - nếu đó là dữ liệu không được chấp nhận (ai đó đang cố gắng đưa các truy vấn của riêng họ vào) thì bạn sẽ muốn khôi phục nó.

Kiểm tra Các hàm của MySQL trong Tài liệu PHP để biết thêm nhiều tiện ích và hãy nhớ quay lại đây khi bạn có câu hỏi cụ thể hơn!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để lấy các trường theo tên trong truy vấn Python?

  2. truy vấn kinh độ và vĩ độ mySQL cho các hàng khác trong bán kính x dặm

  3. Lỗi ngủ đông trong các truy vấn được đặt tên

  4. Nhận độ dài tối đa được phép trong cột, mysql

  5. In thông tin gỡ lỗi từ quy trình được lưu trữ trong MySQL