Làm cách nào để kiểm tra xem bản ghi có tồn tại trong cơ sở dữ liệu trước khi chèn bằng php không?
Tôi muốn kiểm tra xem một cuốn sách có tồn tại trong cơ sở dữ liệu hay không trước khi tôi chèn cùng một cuốn sách để tránh trùng lặp Show
Để kiểm tra xem một hàng có tồn tại trong bảng MySQL hay không, hãy sử dụng điều kiện tồn tại. Điều kiện tồn tại có thể được sử dụng với truy vấn con. Nó trả về true khi hàng tồn tại trong bảng, nếu không thì trả về false. Đúng được biểu thị ở dạng 1 và sai được biểu thị bằng 0 Để hiểu rõ hơn, trước tiên chúng ta sẽ tạo một bảng với sự trợ giúp của lệnh CREATE. Sau đây là truy vấn để tạo một bảng - mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec) Sau khi tạo bảng thành công, chúng ta sẽ chèn một số bản ghi với sự trợ giúp của lệnh INSERT. Truy vấn để chèn bản ghi vào bảng - mysql> INSERT into ExistsRowDemo values(100,'John'); Query OK, 1 row affected (0.16 sec) mysql> INSERT into ExistsRowDemo values(101,'Bob'); Query OK, 1 row affected (0.17 sec) mysql> INSERT into ExistsRowDemo values(103,'Carol'); Query OK, 1 row affected (0.20 sec) mysql> INSERT into ExistsRowDemo values(104,'David'); Query OK, 1 row affected (0.13 sec) Sau khi chèn tất cả các bản ghi, chúng ta có thể hiển thị chúng với sự trợ giúp của lệnh SELECT như sau: mysql> SELECT * from ExistsRowDemo; Sau đây là đầu ra - +---------+-------+ | ExistId | Name | +---------+-------+ | 100 | John | | 101 | Bob | | 103 | Carol | | 104 | David | +---------+-------+ 4 rows in set (0.00 sec) Chúng tôi đã thêm một số bản ghi vào bảng. Cú pháp để kiểm tra xem một hàng có tồn tại trong bảng hay không với sự trợ giúp của điều kiện EXISTS như sau: SELECT EXISTS(SELECT * FROM yourTableName WHERE yourCondition); Tôi đang áp dụng truy vấn trên để nhận được kết quả - Note: Firstly, I am considering the condition when row exists in the table. After that, the condition will be mentioned when a row does not exist. Trường hợp 1Trong trường hợp này, tôi đưa ra một điều kiện khi hàng tồn tại. Hãy để chúng tôi áp dụng cú pháp trên để kiểm tra xem hàng có tồn tại hay không mysql> SELECT EXISTS(SELECT * from ExistsRowDemo WHERE ExistId=104); Sau đây là đầu ra - ________số 8Từ đầu ra mẫu ở trên, rõ ràng là hàng tồn tại, vì giá trị chúng tôi nhận được là 1. Điều này có nghĩa là ĐÚNG vì vậy vấn đề mới nhất của tôi. Tôi có một nút lưu và nút lưu đó đã chèn vào truy vấn và hiện đang hoạt động tốt, điều tôi muốn làm là khi người dùng nhấp vào nút lưu, điều đầu tiên nó làm là kiểm tra xem bản ghi của người dùng đó đã tồn tại chưa và nếu . nhưng trước khi cập nhật, tôi muốn có một thông báo xác nhận hỏi người dùng xem họ có muốn cập nhật không vì đã có một bản ghi. và nếu không có bản ghi thì nó sẽ chỉ chèn. Tôi đã googled những thứ như "kiểm tra xem bản ghi có tồn tại trong mysql db" và "Chuyển hướng đến trang khác trên hộp cảnh báo xác nhận" và nhận được mã hóa (chỉ cần hai lần để làm cho nó hoạt động với tôi) nhưng để kết hợp toàn bộ điều tôi rất những gì tôi có cho đến nay lưu bản ghi. php
0 0 Chia sẻ pritaeas 2.130 ¯\_(ツ)_/¯ Người điều hành Featured Poster 9 năm trướcTrên thực tế, bạn có thể làm điều này trong một truy vấn duy nhất mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)6 Ở trên hoạt động nếu có một khóa chính có thể nhận dạng 2 0 Chia sẻ nadiam 0 Đăng bài chuyên nghiệp trong đào tạo 9 năm trướctôi đang thử code của php koder nhưng tôi gặp lỗi này Lưu ý. biến không xác định. phép trong C. \xampp\htdocs\CashFlow\sheets. php trên dòng 38 mật mã mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)7 0 0 Chia sẻ pritaeas 2.130 ¯\_(ツ)_/¯ Người điều hành Featured Poster 9 năm trướcNếu vòng lặp mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)06 bị bỏ qua vì không có bản ghi, thì mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)07 không có giá trị 0 0 Chia sẻ phpkoder 0 Áp phích dành cho người mới 9 năm trướcviết dòng này, trước vòng lặp while. 0 0 Chia sẻ Đã chỉnh sửa 9 năm trước bởi phpkoder vì. để biết thêm mô tả nadiam 0 Đăng bài chuyên nghiệp trong đào tạo 9 năm trước$permission=false không báo lỗi cho tôi nhưng nó đi thẳng vào mã này và không có gì trong bảng cơ sở dữ liệu. ] mysql> INSERT into ExistsRowDemo values(100,'John'); Query OK, 1 row affected (0.16 sec) mysql> INSERT into ExistsRowDemo values(101,'Bob'); Query OK, 1 row affected (0.17 sec) mysql> INSERT into ExistsRowDemo values(103,'Carol'); Query OK, 1 row affected (0.20 sec) mysql> INSERT into ExistsRowDemo values(104,'David'); Query OK, 1 row affected (0.13 sec)0 $permission mang lại cho tôi cùng một lỗi không xác định. nhưng cũng đi đến mã hóa ở trên 0 0 Chia sẻ diafol 9 năm trướcBạn đang sử dụng vòng lặp while vì có nhiều bản ghi? . Nếu không, thì bạn không cần một vòng lặp. Chỉ là một quan sát Thêm một mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)10 vào truy vấn của bạn 0 0 Chia sẻ nadiam 0 Đăng bài chuyên nghiệp trong đào tạo 9 năm trướctôi đã làm điều này mysql> INSERT into ExistsRowDemo values(100,'John'); Query OK, 1 row affected (0.16 sec) mysql> INSERT into ExistsRowDemo values(101,'Bob'); Query OK, 1 row affected (0.17 sec) mysql> INSERT into ExistsRowDemo values(103,'Carol'); Query OK, 1 row affected (0.20 sec) mysql> INSERT into ExistsRowDemo values(104,'David'); Query OK, 1 row affected (0.13 sec)2 nhưng chỉ khi ($check) chạy nhưng bảng cơ sở dữ liệu trống 0 0 Chia sẻ diafol 9 năm trướcthay vì mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)11 kiểm tra số hàng. mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)12 0 0 Chia sẻ nadiam 0 Đăng bài chuyên nghiệp trong đào tạo 9 năm trướcnó không hoạt động. là mã mà tôi đã làm sai? 0 0 Chia sẻ diafol 9 năm trướcNói "nó không hoạt động" không giúp được gì cả. Bạn có thể cung cấp thêm thông tin. Tôi không biết mã hiện tại của bạn trông như thế nào. Bây giờ hãy thử sử dụng tiếng vang thay vì những cảnh báo khủng khiếp đó và đặt chúng tại các điểm chiến lược Dù sao, để chèn và cập nhật, một lần nữa, đừng sử dụng thứ gì đó như mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)13, bạn sẽ muốn sử dụng mysql> CREATE table ExistsRowDemo -> ( -> ExistId int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec)14 Trên thực tế, pritaeas đã cung cấp cho bạn một giải pháp gọn gàng trong ví dụ về KHÓA TRÊN DUPLICATE. Tại sao bạn chưa thử điều đó? 0 0 Chia sẻ nadiam 0 Đăng bài chuyên nghiệp trong đào tạo 9 năm trướcmã hiện tại vẫn giống như mã tôi đã đăng gần đây. thay đổi duy nhất tôi đã thực hiện là thay đổi bạn đề xuất. Tôi muốn có thể có xác nhận trước khi bản ghi có thể được cập nhật và tôi không chắc liệu tôi có thể làm điều đó với ON DUPLICATE KEY hay không. có lẽ tôi sẽ chỉ thay đổi cách trang của mình hoạt động để tôi có thể sử dụng 0 0 Chia sẻ pritaeas 2.130 ¯\_(ツ)_/¯ Người điều hành Featured Poster 9 năm trước
Nếu bạn muốn xác nhận thì ON DUPLICATE không phải là điều bạn muốn 0 0 Chia sẻ diafol 9 năm trướcNgoài việc chọn những thứ riêng biệt, tôi không thể nói liệu chúng có được đặt hay không (e. g. giá trị trường), đây là một vài thử nghiệm nhanh Làm cách nào để kiểm tra xem một mục có tồn tại trong PHP không?Hàm in_array() là một hàm có sẵn trong PHP dùng để kiểm tra xem một giá trị đã cho có tồn tại trong một mảng hay không. Nó trả về TRUE nếu tìm thấy giá trị đã cho trong mảng đã cho và FALSE nếu không.
Làm cách nào để kiểm tra xem bản ghi có tồn tại trước khi chèn vào SQL không?câu hỏi . --Chèn NẾU KHÔNG TỒN TẠI LỰA CHỌN * TỪ Probale WHERE Prdno=10000001 và (PID là null hoặc PID=1) Bắt đầu Làm cách nào để kiểm tra xem một hàng có tồn tại trong PHP không?PDO PDO kiểm tra xem hàng có tồn tại hoặc được tìm thấy hay không . nếu ($select->rowCount() > 0) { // Hàng đã được tìm thấy //Làm } khác { //Không tìm thấy hàng nào //Làm Làm cách nào để kiểm tra dữ liệu từ cơ sở dữ liệu trong PHP?Có hai cách để kết nối với cơ sở dữ liệu bằng PHP. . Hướng đối tượng MySQLi $conn->query($query); MySQLi Thủ tục mysqli_query($conn, $query) PDO. $stmt = $conn->prepare($query); |