2012-05-14 32 views
5

Tôi đang xây dựng một trang web bằng cách sử dụng PHP cho phép người dùng thêm nhiều dữ liệu vào các bảng khác nhau trong cơ sở dữ liệu MYSQL. Điều này đòi hỏi rất nhiều chèn, cập nhật và thả các bảng trong datatbase của tôi, đôi khi chạy một số lệnh trong một kịch bản.Lỗi và xử lý lỗi PHP MySQL - thực hành tốt nhất

Tôi lo lắng về việc bắt lỗi tiềm ẩn xảy ra khi phát trực tiếp (tôi đã kiểm tra, thử nghiệm và thử nghiệm nhưng vẫn muốn có gói dự phòng).

Tôi đã tìm kiếm ở khắp mọi nơi để tìm giải pháp nhưng không thể tìm thấy giải pháp nào đáp ứng nhu cầu của tôi để tự hỏi liệu có ai ở đây có bất kỳ thực hành nào họ sử dụng hoặc lời khuyên họ có thể cung cấp cho tôi hay không.

Những gì tôi muốn xảy ra:

Nếu một lỗi xảy ra kết nối với cơ sở dữ liệu của tôi (ví dụ) Tôi muốn hiển thị một trang hoặc cửa sổ cảnh báo với một "xin lỗi chúng tôi đã có một vấn đề" tin nhắn với một nút để đăng nhập lỗi. Khi người dùng nhấp vào nút, tôi muốn có thể đăng nhập mysql_error() vào cơ sở dữ liệu với mô tả về lệnh/chức năng không thành công và tên trang cùng với dấu thời gian/ngày mà tôi có thể theo dõi.

Đây có phải là điều mà bất kỳ ai đã thực hiện trước hoặc có thể cung cấp giải pháp thay thế không? Hoặc là có một chức năng được xây dựng mà thực hiện chính xác điều này mà tôi đã bỏ qua?

Mọi lời khuyên sẽ được đánh giá cao.

+0

Bạn sẽ phải thử/bắt lỗi mysql. Việc ghi nhật ký lỗi PHP thường được hỗ trợ bởi hầu hết các máy chủ web. Nó chỉ đơn giản là tạo ra một tập tin đăng nhập của tất cả các lỗi PHP được nâng lên. – user17753

Trả lời

5

Nếu bạn không kết nối được với DB, bạn sẽ không thể ghi lỗi vào db. Kịch bản kết nối xấu sang một bên, bạn nên sử dụng một thư viện mysql php có hỗ trợ các ngoại lệ (như PDO) và sử dụng các khối try-catch để nắm bắt các trạng thái lỗi mà bạn muốn đăng nhập.

Có thể bạn sẽ chỉ muốn ghi vào nhật ký lỗi apache về lỗi kết nối DB (có thể được thực hiện trong khối try-catch).

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