Sửa lỗi Database error khi đăng bài viết mới trong forum vbb

Thảo luận trong 'Lập trình phần mềm' bắt đầu bởi admin, 6/2/14.

  1. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    3,738
    Đã được thích:
    711
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Sửa lỗi Database error khi đăng bài viết mới trong forum vbb

    • Bạn bực bội khi gặp lỗi này, khi gặp lỗi này bài viết vẫn đăng lên được, và khi xem bài viết thì không thấy có lỗi gì.
    • Khi bạn trả lời bài viết cũng gặp lỗi này, phải F5 lại trang thì mới thấy bài trả lời của mình.
    • Ý nghĩa câu lỗi:
      • Trang table postlog đã có id post bài viết mới này rồi, trong khi bài viết này là bài viết mới.
      • Lỗi này phát sinh do đâu mình cũng không biết rõ :D.
    • Sửa lỗi:
      • Chỉ cần xóa đi ID nào chưa có trong table bài viết mà đã có trong postlog là nơi chưa thông tin user đăng bài là được.
      • Câu lệnh xóa : DELETE FROM postlog WHERE postid >(SELECT MAX(postid) FROM post)
    • Ý nghĩa câu query:
      • post là table chứa thông tìn về bài viết.
      • postlog là table lưu thông tin của user đăng bài để ngăn chặn user đăng bài, spam bài viết.
      • => ý nghĩa câu lệnh là xóa đi id nào chưa có trong table post mà đã có trong table postlog.
    fix-database-error.jpg

    • Thông tin lỗi code
    • vBulletin Database Error!
      Database error in vBulletin 4.1.12:

      Invalid SQL:

      INSERT INTO postlog
      (postid, useragent, ip, dateline)
      VALUES
      (1048, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19', 3741187964, 1352548022);

      MySQL Error : Duplicate entry '1048' for key 'PRIMARY'
      Error Number : 1062
      Request Date : Saturday, November 10th 2012 @ 06:47:02 PM
      Error Date : Saturday, November 10th 2012 @ 06:47:03 PM
      Script : forum.itseovn.com/forum/newthread.php?do=postthread&f=185
      Referrer : forum.itseovn.com/forum/newthread.php?do=newthread&f=185
      IP Address : .....
      Username : admin
      Classname : vB_Database
      MySQL Version :5.1....

    • Sửa lỗi code :
    • b1: Đăng nhập vào host của bạn. Sau đó tìm tới phpMyAdmin để vào database trên host của bạn.
    Database-error.jpg

    • Click chọn Database của bạn đang sử dụng cho forum vbb.
    fix-database-error-db1.jpg

    • Click chọn SQL để vào phần truy vấn thực thi câu lệnh query của database.
    fix-database-error-db2.png

    • Copy đoạn code sau : DELETE FROM postlog WHERE postid >(SELECT MAX(postid) FROM post) cho vào khung để thực thi câu lệnh query.
    • Tiếp tục ấn Go
    • Vậy là sửa xong cái lỗi đó rồi đó bạn, ra ngoài comment đăng bài mới và xem kết quả nhé.
     
    Cảm ơn đã xem bài:

    Sửa lỗi Database error khi đăng bài viết mới trong forum vbb

    Đang tải...
  2. quangcaovn

    quangcaovn Thành Viên Mới

    Tham gia ngày:
    7/2/14
    Bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    0
    hic Hồi xưa lập điễn đàn 1 tháng mình cũng bị lỗi này. Mò không được xóa đi dựng lại hixx mất biết bao nhiêu là bài viết, tốn thời gian. Hịc rút kinh nghiệm lần sau nếu bị vào đây coi. Cảm ơn cậu.
     
  3. phanmemnhansusv2

    phanmemnhansusv2 Thành Viên Mới

    Tham gia ngày:
    12/2/14
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    0
    Hay lắm, thanks
     
  4. skychiper

    skychiper

    Vip Member

    Tham gia ngày:
    15/2/14
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    0
    lỗi này thường xuyên xẩy ra mà mình ko biết cách khắc phục ra sao. cảm ơn bài viết của ad rất nhiều. cái này lỗi là do quá tải trong query đúng ko hả AD
     
  5. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    3,738
    Đã được thích:
    711
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Mình cũng không thực sữ rõ của lỗi này, Mình chỉ check dữ liệu thì thấy nó dư ID nên mình tìm cách và xóa id dư đi thì được. Theo mình lỗi do mình xóa chũ đề mà không kỹ hoặc xóa bài viết mà không xóa hết được ID mã bài viết đó bạn.
     
  6. Leo102

    Leo102 Thành Viên Mới

    Tham gia ngày:
    26/2/14
    Bài viết:
    8
    Đã được thích:
    0
    Điểm thành tích:
    1
    chỉ cần gọi truy vấn là được mà
     
  7. onekiss89vn

    onekiss89vn Thành Viên Mới

    Tham gia ngày:
    29/3/14
    Bài viết:
    9
    Đã được thích:
    0
    Điểm thành tích:
    0
    uppppppppppppppp nào
     


Like và Share ủng hộ ITSEOVN