سوف اضع اول شئ كيفية او طريقة وضع الكود الى هيحل المشكلة التي تخص قواعد البيانات
شرح بالصور لتنفيذ أمر على قاعدة البيانات
اولا اذهب الى عنوان القاعدة http://www.******.com/cpanel
و**** هي اسم الموقع حقك
الان اضغط على كلمة phpmyadmin كما في الصورة التالية
SELECT
user.username, (user.options & 512) AS invisible, user.usergroupid,
session.userid, session.inforum, session.lastactivity,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM session AS session
LEFT JOIN user AS user ON(user.userid = session.userid)
WHERE session.lastactivity > 1141921235
ORDER BY username ASC;
MySQL Error : Can't open file: 'session.MYI' (errno: 145)
Error Number : 1016
الحل هو حذف جدول السيزن و انشاءه من جديد
1-
كود PHP:
DELETE FROM session;
2-
كود PHP:
CREATE TABLE `session` (
`sessionhash` char(32) NOT NULL default '',
`userid` int(10) unsigned NOT NULL default '0',
`host` char(15) NOT NULL default '',
`idhash` char(32) NOT NULL default '',
`lastactivity` int(10) unsigned NOT NULL default '0',
`location` char(255) NOT NULL default '',
`useragent` char(100) NOT NULL default '',
`styleid` smallint(5) unsigned NOT NULL default '0',
`languageid` smallint(5) unsigned NOT NULL default '0',
`loggedin` smallint(5) unsigned NOT NULL default '0',
`inforum` smallint(5) unsigned NOT NULL default '0',
`inthread` int(10) unsigned NOT NULL default '0',
`incalendar` smallint(5) unsigned NOT NULL default '0',
`badlocation` smallint(5) unsigned NOT NULL default '0',
`bypass` tinyint(4) NOT NULL default '0',
`profileupdate` smallint(5) unsigned NOT NULL default '0',
PRIMARY KEY (`sessionhash`)
) TYPE=HEAP;
SELECT
post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted,
user.*, userfield.*, usertextfield.*,
icon.title as icontitle, icon.iconpath,
avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight,
deletionlog.userid AS del_userid, deletionlog.username AS del_username, deletionlog.reason AS del_reason,
editlog.userid AS edit_userid, editlog.username AS edit_username, editlog.dateline AS edit_dateline,
editlog.reason AS edit_reason,
postparsed.pagetext_html, postparsed.hasimages,
sigparsed.signatureparsed, sigparsed.hasimages AS sighasimages,
sigpic.userid AS sigpic, sigpic.dateline AS sigpicdateline, sigpic.width AS sigpicwidth, sigpic.height AS sigpicheight,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
FROM post AS post
LEFT JOIN user AS user ON(user.userid = post.userid)
LEFT JOIN userfield AS userfield ON(userfield.userid = user.userid)
LEFT JOIN usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
LEFT JOIN icon AS icon ON(icon.iconid = post.iconid)
LEFT JOIN avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN customavatar AS customavatar ON(customavatar.userid = user.userid)
LEFT JOIN deletionlog AS deletionlog ON(post.postid = deletionlog.primaryid AND deletionlog.type = 'post')
LEFT JOIN editlog AS editlog ON(editlog.postid = post.postid)
LEFT JOIN postparsed AS postparsed ON(postparsed.postid = post.postid AND postparsed.styleid = 39 AND postparsed.languageid = 2)
LEFT JOIN sigparsed AS sigparsed ON(sigparsed.userid = user.userid AND sigparsed.styleid = 39 AND sigparsed.languageid = 2)
LEFT JOIN sigpic AS sigpic ON(sigpic.userid = post.userid)
WHERE post.postid IN (0,20537,20538,20539,20560,20561,20566,20567,20570 ,20572,20573)
ORDER BY post.dateline;
MySQL Error : Unknown column 'customavatar.width' in 'field list'
Error Number : 1054
Date : Monday, October 16th 2006 @ 07:56:26 AM
****** : [url]http://www.xxxxx.com/vb/showthread.php?=&threadid=2637[/url]
Referrer :
IP Address : 63.146.104.148
Username : xxxxx
Classname : vb_database
SELECT
post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted,
user.*, userfield.*, usertextfield.*,
icon.title as icontitle, icon.iconpath,
avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight,
deletionlog.userid AS del_userid, deletionlog.username AS del_username, deletionlog.reason AS del_reason,
editlog.userid AS edit_userid, editlog.username AS edit_username, editlog.dateline AS edit_dateline,
editlog.reason AS edit_reason,
postparsed.pagetext_html, postparsed.hasimages,
sigparsed.signatureparsed, sigparsed.hasimages AS sighasimages,
sigpic.userid AS sigpic, sigpic.dateline AS sigpicdateline, sigpic.width AS sigpicwidth, sigpic.height AS sigpicheight,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
FROM post AS post
LEFT JOIN user AS user ON(user.userid = post.userid)
LEFT JOIN userfield AS userfield ON(userfield.userid = user.userid)
LEFT JOIN usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
LEFT JOIN icon AS icon ON(icon.iconid = post.iconid)
LEFT JOIN avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN customavatar AS customavatar ON(customavatar.userid = user.userid)
LEFT JOIN deletionlog AS deletionlog ON(post.postid = deletionlog.primaryid AND deletionlog.type = 'post')
LEFT JOIN editlog AS editlog ON(editlog.postid = post.postid)
LEFT JOIN postparsed AS postparsed ON(postparsed.postid = post.postid AND postparsed.styleid = 39 AND postparsed.languageid = 2)
LEFT JOIN sigparsed AS sigparsed ON(sigparsed.userid = user.userid AND sigparsed.styleid = 39 AND sigparsed.languageid = 2)
LEFT JOIN sigpic AS sigpic ON(sigpic.userid = post.userid)
WHERE post.postid IN (0,20537,20538,20539,20560,20561,20566,20567,20570 ,20572,20573)
ORDER BY post.dateline;
MySQL Error : Unknown column 'customavatar.width' in 'field list'
Error Number : 1054
Date : Monday, October 16th 2006 @ 07:56:26 AM
****** : [url]http://www.xxxxx.com/vb/showthread.php?=&threadid=2637[/url]
Referrer :
IP Address : 63.146.104.148
Username : xxxxx
Classname : vb_database
ماحلها
ارزع الأوامر هذا وطريقة زرع الاوارمر فى الأعلى
كود:
ALTER TABLE `customavatar` ADD `width` smallint(5) unsigned NOT NULL default '0';
ALTER TABLE `customavatar` ADD `height` smallint(5) unsigned NOT NULL default '0';
عندي ملاحظة بسيطة في ما يتعلق بالمشاركة رقم 2 بخصوص الشرح المفصل لكيفية زرع الأوامر في قواعد البيانات
يفضل استعمال متصفح mozilla المعروف ب Fire Fox بدل internet Explorer في زرع الأوامر عن طريق phpmyadmin
يمكنك تنزيله منها www.mozilla.com
MySQL Error : Table 'vbxxxvb.post_parsed' doesnt exist
Error Number : 1146
Date : Tuesday, October 31st 2006 @ 12:01:03 AM
****** : http://mysite.net/montada/xxx/plugin.php?do=productkill
Referrer : http://mysite.net/montada/xxx/plugin...ssy_tools& s=
IP Address : 2121212121
Username : username
Classname : vb_database
الحل
post_parsed غير موجود
هنا حالين
الحالة الأولى إمكانية وجود جدول post_parsed باسم ثاني وفي الغالب يكون باسم postparsed وهذا في النسخ 3.6 والنسخة عندك 3.5.4 في هذه الحالة يمكن إعادة تسمية الجدول بزرع هذا الأمر في قواعد بيانات المنتدى :
كود PHP:
rename table postparsed to post_parsed ;
الحالة الثانية انحذف الجدول من القاعدة في هذه الحالة ما علينا إلا إعادة زرع الجدول من جديد بزراعة الأمر :
كود PHP:
CREATE TABLE `post_parsed` (
`postid` int(10) unsigned NOT NULL default '0',
`dateline` int(10) unsigned NOT NULL default '0',
`styleid_code` int(11) NOT NULL default '-1',
`styleid_html` int(11) NOT NULL default '-1',
`styleid_php` int(11) NOT NULL default '-1',
`styleid_quote` int(11) NOT NULL default '-1',
`hasimages` smallint(6) NOT NULL default '0',
`pagetext_html` mediumtext,
PRIMARY KEY (`postid`,`styleid_code`,`styleid_html`,`styleid_php`,`styleid_quote`),
KEY `dateline` (`dateline`)
) type=MyISAM ;
MySQL Error : Table 'vbxxxvb.post_parsed' doesnt exist
Error Number : 1146
Date : Tuesday, October 31st 2006 @ 12:01:03 AM
****** : http://mysite.net/montada/xxx/plugin.php?do=productkill
Referrer : http://mysite.net/montada/xxx/plugin...ssy_tools& s=
IP Address : 2121212121
Username : username
Classname : vb_database
الحل
post_parsed غير موجود
هنا حالين
الحالة الأولى إمكانية وجود جدول post_parsed باسم ثاني وفي الغالب يكون باسم postparsed وهذا في النسخ 3.6 والنسخة عندك 3.5.4 في هذه الحالة يمكن إعادة تسمية الجدول بزرع هذا الأمر في قواعد بيانات المنتدى :
كود PHP:
rename table postparsed to post_parsed ;
الحالة الثانية انحذف الجدول من القاعدة في هذه الحالة ما علينا إلا إعادة زرع الجدول من جديد بزراعة الأمر :
كود PHP:
CREATE TABLE `post_parsed` (
`postid` int(10) unsigned NOT NULL default '0',
`dateline` int(10) unsigned NOT NULL default '0',
`styleid_code` int(11) NOT NULL default '-1',
`styleid_html` int(11) NOT NULL default '-1',
`styleid_php` int(11) NOT NULL default '-1',
`styleid_quote` int(11) NOT NULL default '-1',
`hasimages` smallint(6) NOT NULL default '0',
`pagetext_html` mediumtext,
PRIMARY KEY (`postid`,`styleid_code`,`styleid_html`,`styleid_php`,`styleid_quote`),
KEY `dateline` (`dateline`)
) type=MyISAM ;
بالتوفيق
عندي مداخلة بسيطة اخي احمد فيما يخص جدول postparsed مع العلم أن الحل الي قدمته أنا كتبته بالحرف الواحد في ترايدنت ولكنه ليس حلا نهائيا للمشكلة ولكثرة الأعضاء الذين يشتكون من مشكلة هذا الجدول ومتابعتي المستمرة له توصلت إلى حل نهائي وهو كالتالي :
إقتباس:
المشاركة الأصلية بواسطة sami1706
المشكلة سببها 1 من 2
أما 1 يبدو أنك رقيت من 3.5 إلى 3.6 ونسيت تغير اسم المجلد القديم أو حذفه وإعادة تسمية المجلد الجديد بنفس اسم القديم فأصبحت تشتغل على النسخة 3.5 بدل ما تشتغل ملفات 3.6 في قاعدة بيانات 3.6 المرقاه
أما 2 أنت قبل الترقية المفروض أنك تحذف الهاكات بالكامل قبل أي عملية ترقية لانه في هذه الحالة عندنا جدول post_parsed تم زرع قيم بداخله أثناء عملية زرع البروداكت ويبقى أمر الغاء ثلك القيم من ذلك الجدول يتعلق بنفس اسم الجدول لو أردنا إزالتها بحذف البروداكت لان البروداكت راح يبحث عن القيم في جدول يحمل إسم post_parsed طيب أنت رقيت المنتدى والبروداكت ما زال عالقا في القاعدة وكلنا نعلم أنه النسخة 3.6 يترقى جدول post_parsed و يتغير إسمه إلى postparsed فكيف ياترى وهل ياترى الهاك العالق يمكن يتعرف على هذا الجدول تلقائيا الجواب لا لان أمر الإزالة ما يعرف غير post_parsed وعند أي محاولة الغاء او إزالة القيمة عن طريق حذف البروداكت سوف يعطينا خطأ داتا بيز اللي هو :
Table '.post_parsed' doesn't exist
في هذه الحالة ايش راح نسوي أول شيء نسترجع الإسم القديم لجدول postparsed إلي هو post_parsed عن طريق زراعة هذا الأمر في قواعد بيانات المنتدى :
كود PHP:
RENAME TABLE postparsed TO post_parsed ;
ثم بعدها نقوم بحذف البروداكت ونعيد تسمية الجدول باسمه الجديد في النسخة الجديدة اللي هو postparsed بزرعة هذا الأمر :
كود PHP:
RENAME TABLE post_parsed TO postparsed ;
أرجو أن أكون قد وضحت المشكلة كما ينبغي
وعند محاولة تركيب بروداكت وظهر لنا نفس الخطأ هذا يعني أن البروداكت غير متوافق مع النسخ يكفي ترقيته عن طريق فتحه والبحث عن post_parsed واستبدالها ب postparsed في داخل البروداكت عن طريق محرر النصوص المتقدم textpad
سويت الترقية للنسخة3.0.09
ولكن عندما حاولت الترقية للنسخة3.5.4
واجهت المشكلة التالية
Database error in vBulletin :
mysql_connect(): Access denied for user '×××××_forum1'@'localhost' (using password: NO)
/home/×××××/public_html/vb2/includes/class_core.php on line 273
SELECT
user.username, (user.options & 512) AS invisible, user.usergroupid,
session.userid, session.inforum, session.lastactivity,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
FROM session AS session
LEFT JOIN user AS user ON(user.userid = session.userid)
WHERE session.lastactivity > 1164929905
ORDER BY username ASC;
MySQL Error : Unknown column 'infractiongroupid' in 'field list'
Error Number : 1054
Date : Thursday, November 30th 2006 @ 05:53:25 PM
Script : http://www.XXXX.net/vb/
Referrer :
IP Address : 82.46.44.142
Username : غير مسجل
Classname : vb_database
-->
SELECT
user.username, (user.options & 512) AS invisible, user.usergroupid,
session.userid, session.inforum, session.lastactivity,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
FROM session AS session
LEFT JOIN user AS user ON(user.userid = session.userid)
WHERE session.lastactivity > 1164929905
ORDER BY username ASC;
MySQL Error : Unknown column 'infractiongroupid' in 'field list'
Error Number : 1054
Date : Thursday, November 30th 2006 @ 05:53:25 PM
Script : http://www.XXXX.net/vb/
Referrer :
IP Address : 82.46.44.142
Username : غير مسجل
Classname : vb_database
-->
ياليت من حل اخي العزيز
ازرع هذا الأمر فى قاعدة البيانات
كود PHP:
ALTER TABLE `user` ADD `infractiongroupid` INT(10) UNSIGNED DEFAULT '0'
واذا ماكملت التحديث او اى شئ يبقى الخطأ بالنقل من نسخة الى نسخة اكيد فى مشكلة
بس شوف الأول هذا الى هيظهر كل شئ بأذن الله الملف هذا بيعمل تشيك كامل على المنتدي من تعديلات والجداول وكل شئ اذا تم العملية يبقى كذا المنتدي انظبط
غير ***** الى اسم موقعك
Warning: Cannot modify header information - headers already sent by (output started at /usr/local/cpanel/base/3rdparty/phpMyAdmin/libraries/header_meta_style.inc.php:27) in /usr/local/cpanel/base/3rdparty/phpMyAdmin/libraries/common.lib.php on line 1154
بس الحمد الله تم حل المشكله المنتدي يفتح بس ظهرت مشكله ثاني والي هي :-
Database error in vBulletin 3.6.4:
Invalid SQL:
SELECT userid, usergroupid, membergroupids, infractiongroupids, username, password, salt FROM user WHERE username = 'admin';
MySQL Error : Unknown column 'infractiongroupids' in 'field list'
Error Number : 1054
Date : Friday, December 1st 2006 @ 02:22:54 AM
Script : http://www.XXXX.net/vb/login.php?do=login
Referrer : http://www.ْْْْXXXX.net/vb/
IP Address : 82.46.44.142
Username : غير مسجل
Classname : vb_database
-->