PDA

View Full Version : سوال: مشکل با بانک روی هاست



mahsara
شنبه 23 مهر 1390, 11:26 صبح
با سلام
من سایتمو اپلود کردم و بانکمو هم همینطور. ولی موقع اتصال با بانک خطای زیر رو میده.
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'
نمیدونم مشکل چیه چون دستور اتصال را با مدل های مختلف امتحان کردم. مثلا یوز تعریف کردم و نام و پسورد یوزر را دادم, و یا این دو پارامترو از دستورم حذف کردم و ...
اگر سوالم تکراریه ببخشید، نمیدونستم با چی باید جستجو کنم.
این کدم :


$link = mysql_connect('mysite.com','root','') or die('خطا در برقراری اتصال با پایگاه داده');

MMSHFE
شنبه 23 مهر 1390, 17:01 عصر
دوست گرامي، از اونجا كه توي هاست، كاربر root در اختيارتون نيست (نبايد هم باشه وگرنه به ديتابيسهاي همه مشتريان اون هاست دسترسي خواهيد داشت)، بنابراين بايد مراحل زير رو در كنترل پانل هاستتون طي كنيد:
1- ايجاد يك ديتابيس
2- ايجاد يك كاربر
3- مرتبط كردن كاربر با ديتابيس (انتخاب كاربر و انتخاب ديتابيس و انتخاب گزينه Assign يا گزينه هاي مشابه ديگه كه بستگي به نوع كنترل پانلتون داره)
ضمناً به اين نكته هم بايد دقت كنيد كه در هاستهاي لينوكس معمولاً نام دامنه (بدون پسوندش) به اسامي ديتابيس و نام كاربري اضافه ميشه (به رمز عبور چيزي اضافه نميشه). مثلاً اگه هاستتون mysite.com هست و ديتابيسي به نام test توي اون ساختين، نام ديتابيس mysite_test هست نه test كه البته توي خود كنترل پانل هم بعد از ساخت ديتابيس و كاربر اين نكته رو متوجه ميشين.
توصيه: از اونجا كه توي هاست مجبورين در همه موارد اتصال به ديتابيس كه تعدادش هم در كدها كم نيست، نام كاربري و نام ديتابيس و رمز عبور و... رو تغيير بدين، بهتره يك فايل تنظيمات مثل config.php داشته باشين و اين اطلاعات رو توي اون ذخيره كنيد و در فايلهاي ديگه، اول اين فايل رو ضميمه كنيد و از اطلاعات موجود در اون براي اتصال استفاده كنيد تا مجبور نباشيد چندين فايل رو ويرايش كنيد. درواقع اينطوري فقط لازمه فايل تنظيمات رو اصلاح كنيد.
موفق باشيد.