2012-10-18 45 views
5

Tôi đã viết kịch bản cho người nào đó để họ có thể dễ dàng xóa kết quả bài kiểm tra khỏi cơ sở dữ liệu. Gist chung của kịch bản là người dùng nhập tên người dùng, tập lệnh php truy vấn cơ sở dữ liệu cho kết quả bài kiểm tra liên quan đến tên người dùng. Sau đó hiển thị kết quảKịch bản php của tôi hiển thị kết quả là đã xóa, nhưng phpmyadmin hiển thị kết quả vẫn là

Người dùng có thể nhấp vào liên kết xóa. Khi liên kết này được nhấp, kết quả sẽ bị xóa và cơ sở dữ liệu được truy vấn lại hiển thị kết quả được cập nhật.

Mọi thứ dường như hoạt động tốt cho đến khi tôi đăng nhập vào phpMyadmin để thấy rằng không có kết quả nào bị xóa.

Câu hỏi có thể là điều gì đó sai với chính cơ sở dữ liệu không? Hoặc PHPmyAdmin?

Có điều gì sai với cách tôi thực hiện tập lệnh của mình không?

Đây là mã của tôi trong tập tin văn bản này: http://andreawine.ladev.co/code-example.txt

Trả lời

1
$query1 = "DELETE FROM aw_wpsqt_user_data WHERE quizID='".$_GET['quizID']." AND username='".$_GET['username']."'"; 

Dường như dòng này thiếu dấu đóng ngoặc kép quanh quizID. Cố gắng sửa chữa nó là:

$query1 = "DELETE FROM aw_wpsqt_user_data WHERE quizID='".$_GET['quizID']."' AND username='".$_GET['username']."'"; 

Tôi cũng nên đề cập đến rằng đây không phải là chính xác theo cách an toàn nhất để xóa thông tin, vì có vẻ như tôi có thể sử dụng SQL injection cho hầu hết các lĩnh vực này (đặc biệt là xem xét những $ _GET các biến xuất hiện trên URI Hãy xem http://codex.wordpress.org/WordPress_Coding_Standards#Formatting_SQL_statements cho các tiêu chuẩn của WordPress cho các câu lệnh SQL

+0

Ôi trời ơi, tôi đã đổ quá nhiều thời gian vào vấn đề này và tất cả chỉ là vậy thôi. –

+0

Không sao cả, tôi rất vui vì nó hoạt động ngay bây giờ! –

Các vấn đề liên quan