Chiều dài/giá trị mysql
Trong bài hướng dẫn này, chúng tôi sẽ chỉ cách bạn quản lý cơ sở dữ liệu từ các tập lệnh PHP của bạn. Bạn sẽ biết cách sử dụng PHP để CHÈN VÀO CƠ SỞ DỮ LIỆU MYSQL bằng phương thức MySQLi và đối tượng dữ liệu PHP. Trước khi bắt đầu bài hướng dẫn PHP MySQL chèn dữ liệu này, bạn cần truy cập vào bảng điều khiển lưu trữ của bạn trước đó Show Nhận giảm giá khi sử dụng PHP hosting hôm nay. Giảm tới 90% trong thời gian ngắn Start Nếu bạn không chắc chắn làm thế nào để thiết lập kết nối MySQL, bạn có thể xem qua bài hướng dẫn PHPMySQL này. Nó có hướng quan trọng để làm việc giữa PHP và cơ sở dữ liệu Tạo bảng (tuỳ chọn)Đầu tiên, bạn cần tạo cơ sở dữ liệu để chèn vào cơ sở dữ liệu sql. Việc tạo cơ sở dữ liệu này cũng rất đơn giản, bạn chỉ cần thực hiện các bước sau
Sau khi đã có cơ sở dữ liệu. Vui lòng truy cập vào phpMyAdmin của databasae để tiến hành tạo bảng cho cơ sở dữ liệu. Rất đơn giản để làm như vậy với phpMyAdmin, được đặt trong bảng điều khiển lưu trữ như bạn thấy ở trên màn hình. Sau khi vào trang phpMyAdmin, bạn sẽ thấy cấu hình tương tự như sau Chúng tôi sẽ tạo bảng có tên Học sinh cho cơ sở dữ liệu u266072517_name. Bạn có thể tạo bảng bằng cách nhấp vào nút Tạo bảng. Sau đó, bạn sẽ thấy trang này để điền tất cả thông tin cần thiết cho bảng đó Đây là bước thiết lập đơn giản nhất để bạn có thể sử dụng bảng, để biết thêm thông tin liên quan đến cấu trúc bảng/cơ sở dữ liệu và bất kỳ thiết lập nào khác liên quan đến các cột này, hãy xem qua hướng dẫn chính thức Bây giờ, đây là phần giải thích cơ bản về cột mà chúng tôi đã sử dụng
Nhấp vào nút Lưu, bảng của bạn sẽ được tạo Viết mã PHP để CHÈN vào cơ sở dữ liệu MySQLCó hai phương pháp bạn có thể sử dụng để CHÈN dữ liệu vào cơ sở dữ liệu MySQL. Phương pháp PHP MySQLi và PHP Data Object hoặc PDO method MySQLi methodĐầu tiên, bạn cần thiết lập kết nối tới cơ sở dữ liệu. Khi hoàn tất, chúng ta có thể bắt đầu sử dụng truy vấn SQL INSERT trong SQL. Đây là toàn bộ mã code PHP tạo kết nối và chèn trong SQL cơ bản [email protected]')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . " There is the first code of code (dòng 3-18) used to connect to database. Chúng tôi sẽ không giải thích nhiều về công việc này nữa, nhưng nếu bạn muốn, bạn có thể tham khảo bài viết hướng dẫn về cơ sở dữ liệu kết nối trước của chúng tôi Please start with line 19 $sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')"; Đây là dòng quan trọng nhất của mã của chúng tôi, nó làm tất cả mọi thứ chúng tôi cần trong bài hướng dẫn này – chèn vào cơ sở dữ liệu MySQL dữ liệu cần thiết. INSERT INTO is command to add data into the table in mysql database. At ví dụ của chúng tôi, chúng tôi đang thêm databa vào bảng có tên Sinh viên Hơn nữa, giữa các cặp dấu ngoặc đơn, chúng tôi có cột được xác định cụ thể (tên, họ, email). Dữ liệu sẽ được thêm vào theo tuần tự. Nếu chúng tôi viết (email, họ, tên), giá trị cũng sẽ được thêm vào theo thứ tự khác nhau đó Do đó, điểm tiếp theo là VALUES tuyên bố. Tại đây chúng ta sẽ đưa ra dự kiến cụ thể về từng cột tương ứng. Bằng cách này, mỗi cột sẽ có giá trị tương ứng. Ví dụ trong trường hợp này sẽ là. tên = Thơm, họ = Lọ, email = [email được bảo vệ] Một điểm đáng lưu ý là chúng tôi chạy truy vấn SQL bằng mã PHP, truy vấn SQL phải được đặt trong dấu nháy đơn. Ở ví dụ này, tất cả những gì trong flash menu và sau $sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')";2 là một truy vấn SQL Tiếp theo mã (20 – 22 dòng) sẽ kiểm tra xem truy vấn SQL có được thực thi thành công hay không if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } Nó chỉ đơn giản là chạy thông báo truy vấn có thành công hay không Cuối cùng (dòng 22 – 24 ) hiển thị một thông báo truy vấn trường hợp khác của chúng ta không chạy được else { echo "Error: " . $sql . " Nó sẽ cho họ biết có lỗi nếu lỡ có điều gì không đúng xảy ra Phương pháp PHP Data Object (PDO)Cũng như ở ví dụ trước, chúng ta thiết lập kết nối tới cơ sở dữ liệu trước, bằng cách tạo một đối tượng PDO – bài hướng dẫn kết nối tới mysql bằng PHP sẽ chỉ cho bạn cách làm này. Khi kết nối tới cơ sở dữ liệu MySQL là một đối tượng PDO, bạn phải sử dụng nhiều 'phương thức' PDO (bất kỳ chức năng nào là một phần của bất kỳ đối tượng nào) để chuẩn bị và chạy truy vấn. Các phương thức của các đối tượng được gọi như sau $the_Object->the_Method(); PDO cho phép bạn 'chuẩn bị' mã SQL trước khi nó được thực thi. Truy vấn SQL được đánh giá và ‘chỉnh sửa‘ trước khi chạy. Bởi vậy, một cuộc tấn công SQL injection có thể được thực hiện chỉ bằng cách nhập mã SQL trong biểu mẫu điền thông tin. được đánh giá và 'sửa chữa' trước khi chạy. Ví dụ // User writes this in the username field of a login form john"; DROP DATABASE user_table; // The final query becomes this "SELECT * FROM user_table WHERE username = john"; DROP DATABASE user_table; Because there are a true cấu trúc mã SQL, dấu ; . The command used to be not allow ” và ; Bạn phải luôn sử dụng các câu lệnh đã chuẩn bị sẵn khi gửi hoặc nhận dữ liệu từ cơ sở dữ liệu với PDO Để sử dụng các câu lệnh chuẩn bị, bạn phải viết một biến mới gọi phương thức chuẩn bị() của đối tượng cơ sở dữ liệu Mã nguồn chính xác PDO::ERRMODE_EXCEPTION]; // Create a new connection to the MySQL database using PDO, $my_Db_Connection is an object try { $my_Db_Connection = new PDO($sql, $username, $password, $dsn_Options); echo "Connected successfully"; } catch (PDOException $error) { echo 'Connection error: ' . $error->getMessage(); } // Set the variables for the person we want to add to the database $first_Name = "Thom"; $last_Name = "Vial"; $email = "[email protected]"; // Here we create a variable that calls the prepare() method of the database object // The SQL query you want to run is entered as the parameter, and placeholders are written like this :placeholder_name $my_Insert_Statement = $my_Db_Connection->prepare("INSERT INTO Students (name, lastname, email) VALUES (:first_name, :last_name, :email)"); // Now we tell the script which variable each placeholder actually refers to using the bindParam() method // First parameter is the placeholder in the statement above - the second parameter is a variable that it should refer to $my_Insert_Statement->bindParam(:first_name, $first_Name); $my_Insert_Statement->bindParam(:last_name, $last_Name); $my_Insert_Statement->bindParam(:email, $email); // Execute the query using the data we just defined // The execute() method returns TRUE if it is successful and FALSE if it is not, allowing you to write your own messages here if ($my_Insert_Statement->execute()) { echo "New record created successfully"; } else { echo "Unable to create record"; } // At this point you can change the data of the variables and execute again to add more data to the database $first_Name = "John"; $last_Name = "Smith"; $email = "[email protected]"; $my_Insert_Statement->execute(); // Execute again now that the variables have changed if ($my_Insert_Statement->execute()) { echo "New record created successfully"; } else { echo "Unable to create record"; } Ở dòng 28, 29 và 30, chúng tôi sử dụng phương thức bindParam() của đối tượng cơ sở dữ liệu. Cũng có bindValue() nhưng cách sử dụng rất khác
Ghi chú là tôi đã sử dụng lại biến $first_Name và cho nó giá trị mới ở lần thứ 2. Nếu bạn kiểm tra cơ sở dữ liệu sau khi chạy tập lệnh, bạn sẽ có cả 2 tên, mặc dù $first_Name có nghĩa là “John” đã được gán ở cuối tập lệnh. Hãy nhớ rằng PHP đã xem qua toàn bộ tập lệnh trước khi thực sự chạy nó Nếu bạn cập nhật script và thay thế bindParam bằng bindValue, bạn sẽ chèn vào MySQL “Thom Vial” 2 lần trong cơ sở dữ liệu và John Smith sẽ bỏ qua Xác nhận thành công và giải quyết các lỗi thường gặp khi chèn vào MySQLNếu truy vấn bạn chạy và chèn vào cơ sở dữ liệu MySQL thành công, bạn sẽ thấy thông báo sau ________số 8Sửa các lỗi thường gặp về Insert Into MySQLWill have at new record error with SEL insert. Nhưng đừng lo, có nhiều cách để bạn sửa lỗi MySQL này MySQLiTrong các trường hợp khác nhau, mỗi mã lỗi có thể được hiển thị. Ví dụ, hãy tạo một cấu trúc lỗi trong mã của chúng ta và chúng ta và chúng ta thấy lỗi như sau Connect successfully Error: INSERT INTO students {name, lastname, email} VALUES ('Test', 'Testing', '[email protected]') You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Test', 'Testing', '[email protected]')' at line 1" Như chúng ta thấy, phần đầu tiên của mã thì đúng rồi, kết nối thành công, nhưng SQL vẫn báo lỗi $sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')";0 Đây là lỗi cấu trúc, và vì vậy nó sẽ khiến tập lệnh chạy bị hỏng khi cố chèn vào MySQL. Lỗi ngay đây $sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')";0 Như bạn đã thấy, chúng ta đã sử dụng dấu ngoặc móc thay vì dấu ngoặc đơn. Nó sai và vì vậy bạn sẽ thấy lỗi cú pháp bung (cấu trúc lỗi) PDOỞ dòng 7 của kết nối PDO, chế độ báo lỗi được đặt là 'hiển thị tất cả các ngoại lệ'. Nếu nó bị loại bỏ khỏi tập lệnh và truy vấn làm bạn thất vọng, bạn sẽ không nhận được bất kỳ mã lỗi nào. Với tùy chọn được kích hoạt, mã lỗi sẽ được hiển thị. Thường thì bạn chỉ nên làm như vậy khi đang thiết lập chương trình vì nếu lỗi hiển thị tên cơ sở dữ liệu và bảng ra, có thể khiến kẻ xấu thu thập các thôn gtin và cố truy cập cũng như chèn mã độc hại vào dữ liệu của bạn. Trong trường hợp lệ trên dấu ngoặc kép được sử dụng thay vì dấu ngoặc đơn, lỗi này sẽ giống như sau $sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')";1 Các khả năng lỗi khác mà bạn có thể gặp phải
Tất cả những lỗi này có thể được sửa chữa dễ dàng bằng cách làm theo hướng dẫn sửa lỗi Sau khi nhập dữ liệu thành công, chúng ta sẽ thấy nó được thêm vào cơ sở dữ liệu. Đây là ví dụ của mục nhập dữ liệu, nó đã được thêm vào cơ sở dữ liệu. Ví dụ này của bảng mà chúng ta đã thêm và dữ liệu sẽ được hiển thị từ phpMyAdmin Lời kếtTrong bài hướng dẫn này, bạn đã biết làm thế nào để sử dụng PHP để CHÈN vào cơ sở dữ liệu MySQL dữ liệu cần thiết qua MySQLi và PDO. Khi thêm dữ liệu vào bảng trong mysql, chúng tôi cũng chỉ cho bạn một số cách để khắc phục một số lỗi kết nối phổ biến. Biết cách sử dụng PHP để chèn vào MySQL rất hữu ích nếu bạn đang học code hoặc đang tìm cách xây dựng website |