Chỉ cần kết hợp một hàm xóa đơn đặt hàng [có vẻ như xóa các đơn đặt hàng một cách thích hợp] nhưng tôi nhận thấy rằng, khi sử dụng hàm mysqli_query với truy vấn XÓA, nó sẽ trả về TRUE cho dù có tìm thấy bản ghi để xóa hay không. Đây có phải là những gì tôi nên mong đợi?
$orderid = $_GET ['var']; if[$orderid]{ $mysqli=getDBconnection[]; // START DB activity $delete_qry = "DELETE FROM orders WHERE orderid = '".$orderid."'"; $result = mysqli_query[$mysqli, $delete_qry] or die[mysqli_error[$mysqli]]; if[$result==TRUE]{ echo "ORDER ".$orderid." DELETED.
"; } $delete_qry = "DELETE FROM order_items WHERE orderid = '".$orderid."'"; $result = mysqli_query[$mysqli, $delete_qry] or die[mysqli_error[$mysqli]]; if[$result==TRUE]{ echo " ORDER ITEMS[s] for ".$orderid." DELETED.
"; } mysqli_close[$mysqli]; // close connection to MySQL }
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
PFMaBiSmAd
Đăng ngày 6 tháng 11 năm 2009
PFMaBiSmAd
- cựu nhân viên
- 16. 7k
- Địa điểm. Colorado, Hoa Kỳ. S. A
- Đăng lại
Đăng ngày 6 tháng 11 năm 2009
Đây có phải là những gì tôi nên mong đợi?
Có, giá trị TRUE được trả về bởi mysqli_query[] chỉ có nghĩa là truy vấn đã được thực thi -
Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại. Đối với CHỌN, HIỂN THỊ, MÔ TẢ hoặc GIẢI THÍCH mysqli_query[] sẽ trả về một đối tượng kết quả
Bạn phải sử dụng mysqli_affected_rows[] để tìm ra số hàng bị ảnh hưởng bởi truy vấn INSERT, UPDATE, REPLACE hoặc DELETE cuối cùng
Tôi đã giải quyết vấn đề này được một thời gian rồi. Biểu mẫu gửi người dùng của tôi hiện trả về kết quả khi nó truy vấn xem Tên người dùng có tồn tại hay không. Nó hoạt động tại một thời điểm nhưng nó đã ngừng hoạt động và tôi không thể hiểu tại sao. Tôi đã dừng và khởi động lại apache và mysql của mình trong XAMPP. Vì vậy, tôi đã làm điều đó
Tôi đã xem đi xem lại mã này và không thể thấy vấn đề là gì. Tôi thậm chí đã làm trống bảng cơ sở dữ liệu để KHÔNG có người dùng nào trong bảng
Đây là mã
// Kiểm tra người dùng hiện có với id mới
$sql = "SELECT COUNT[*] FROM user WHERE user_name = '$_POST[newid]'"; $result = mysqli_query[$conn, $sql]; if [!$result] { error['A database error occurred in processing your '. 'submission.\\nIf this 1 error persists, please '. 'contact you@example.com.']; } $resultCheck = mysqli_num_rows[$result]; printf["Result set has %d rows.\n",$resultCheck]; echo "$_POST[newid]"; if [$resultCheck > 0] { error['A user already exists with your chosen userid.\\n'. 'Please try another.']; }
Tôi đặt câu lệnh printf vào đó để xem nó trả về cái gì và nó luôn trả về 1 kết quả khi KHÔNG có kết quả nào để trả về. Tôi đặt [$resultCheck > 0] thành [$resultCheck > 1] và nó hoạt động… tất nhiên rồi
Câu lệnh echo cho phép tôi xem những gì nó thực sự đang nhập vào $_POST[newid]. Nó đang gửi đầu vào biểu mẫu như bình thường
Nó khá thẳng về phía trước. Tôi đang nhìn một cái gì đó rõ ràng?
Tôi biết đó không phải là bảng cơ sở dữ liệu vì tôi đã thay đổi truy vấn để truy vấn một bảng khác/khác và nó trả về kết quả = 1
Tạo cơ sở dữ liệu MySQL Hướng dẫn này giả định kiến thức về MySQL và SQL, nếu những thuật ngữ này không quen thuộc với bạn, hãy tham khảo các hướng dẫn về MySQL và SQL của chúng tôi
Chúng tôi sẽ tạo một cơ sở dữ liệu đơn giản có tên my_personal_contacts chỉ với một bảng
Dưới đây là các bước để tạo cơ sở dữ liệu và bảng
- Kết nối với MySQL bằng công cụ truy cập yêu thích của bạn như MySQL workbench, phpMyAdmin, v.v.
- Tạo cơ sở dữ liệu có tên my_person_contacts
- Thực thi tập lệnh được hiển thị bên dưới để tạo bảng và chèn một số dữ liệu giả
Bây giờ chúng ta đã thiết lập một cơ sở dữ liệu mà chúng ta sẽ thao tác từ PHP
Đọc các bản ghi từ cơ sở dữ liệu Bây giờ chúng ta sẽ tạo một chương trình in các bản ghi từ cơ sở dữ liệu
Thực thi đoạn mã trên trả về kết quả được hiển thị trong sơ đồ hiển thị bên dưới
Chèn bản ghi mới
Bây giờ hãy xem một ví dụ thêm một bản ghi mới vào bảng của chúng ta. đoạn mã dưới đây cho thấy việc thực hiện