Jinsi ya Kuzuia Posts Kufutika Zenyewe Kwenye PHP na MySQL
Posts kupungua kila unapofungua au ku-refresh page kunaweza kusababishwa na foreign key yenye ON DELETE CASCADE. User akifutwa, posts zake zote zinaweza kufutwa moja kwa moja.
Kwanza, hakikisha posts zinafutwa kweli:
SELECT
COUNT(*) AS total_posts,
MIN(id) AS first_post_id,
MAX(id) AS last_post_id
FROM posts;Kuzuia posts kufutwa user anapoondolewa, badilisha foreign key kuwa ON DELETE SET NULL:
ALTER TABLE posts
DROP FOREIGN KEY posts_ibfk_1;
ALTER TABLE posts
ADD CONSTRAINT posts_ibfk_1
FOREIGN KEY (user_id) REFERENCES users(id)
ON DELETE SET NULL
ON UPDATE CASCADE;Sasa user akifutwa, post haitafutwa. Sehemu ya user_id pekee itawekwa kuwa NULL.
Pia hakikisha page yako haina query hatari kama hizi:
DELETE FROM posts;
TRUNCATE TABLE posts;
DELETE FROM users;Kumbuka: Pagination inaweza kuonyesha posts chache bila kuzifuta. Kwa mfano:
$perPage = 20;Code hii inaonyesha posts 20 kwa kila ukurasa; posts nyingine zitapatikana kwenye kurasa zinazofuata.
Kabla ya kubadilisha database, tengeneza backup kamili yenye Structure and Data. Hii itakusaidia kurejesha posts endapo tatizo litatokea.
๐ Unahitaji mfumo au website ya biashara?
Chagua huduma hapa chini kisha mteja bofya moja kwa moja kwenda kwenye ukurasa wa huduma au kuwasiliana nasi kwa WhatsApp.