PDA

View Full Version : ایجاد نشدن دیتابیس در هاست توسط دستور نه به صورت دستی



jionelmessi
دوشنبه 24 مهر 1391, 14:04 عصر
با سلام
دئستان منئ میخوام دیتابیسم با دستور ایجاد کنم در هاست ولی نمیشه فقط می تونم به صورت دستی این کارو کنم یع نی وقتی این کدو می نویسم اجرا نمیشه


mysql_query('creat database dbname');






از دوستان کسی هست بدون مشکل از کجاس اخه من رو هاست این کارو انجام میدادم که هر کی ثبت نام می کرد به صورت خودکار به نام یوزرنیمش دیتابیس ایحاد میشد اما اینجا نمیشه کسی میدونه مشکل از کجاس اگه راهنمایی کنین ممنون میشم.

eshpilen
دوشنبه 24 مهر 1391, 14:18 عصر
فکر کنم روی شیرهاست ها نمیشه.
یعنی باید از طریق کنترل پنل سایت این کار رو انجام بدی. توسط PHP نمیشه.
من واسه همین توی نصب خودکار دیتابیس پروژم ایجاد خودکار دیتابیس رو نذاشتم و کاربر اول باید خودش دیتابیس رو بصورت دستی ایجاد کنه.
همینطور در برنامه های نصب باید اینو هم درنظر داشت که در خیلی موارد برنامه نمیتونه با پرمیشن های پیشفرض هاست فایل ایجاد کنه/بنویسه. مثلا نمیتونه یوزرنیم و پسورد دیتابیس رو توی فایل پیکربندی بنویسه.
بنابراین در اینطور موارد یا برنامه اول خودش تلاش میکنه و اگر موفق نشد دستورات لازم رو به کاربر میده تا خودش این کارها رو انجام بده، یا کلا بعضی کارها مثل ایجاد دیتابیس و تعیین یوزرنیم و پسورد دیتابیس در فایل کانفیگ برنامه رو گردن کاربر میندازه (کلا کار شاقی هم نیست خب و اونی که سیستم رو نصب میکنه میتونه این چندتا کار رو هم خودش انجام بده). ضمنا با ذخیرهء همه چیز در دیتابیس هم میشه از کارهای بعدی با فایلها هم اجتناب کرد (تاحد امکان).

jionelmessi
سه شنبه 25 مهر 1391, 10:42 صبح
فکر کنم روی شیرهاست ها نمیشه.
یعنی باید از طریق کنترل پنل سایت این کار رو انجام بدی. توسط PHP نمیشه.
من واسه همین توی نصب خودکار دیتابیس پروژم ایجاد خودکار دیتابیس رو نذاشتم و کاربر اول باید خودش دیتابیس رو بصورت دستی ایجاد کنه.
همینطور در برنامه های نصب باید اینو هم درنظر داشت که در خیلی موارد برنامه نمیتونه با پرمیشن های پیشفرض هاست فایل ایجاد کنه/بنویسه. مثلا نمیتونه یوزرنیم و پسورد دیتابیس رو توی فایل پیکربندی بنویسه.
بنابراین در اینطور موارد یا برنامه اول خودش تلاش میکنه و اگر موفق نشد دستورات لازم رو به کاربر میده تا خودش این کارها رو انجام بده، یا کلا بعضی کارها مثل ایجاد دیتابیس و تعیین یوزرنیم و پسورد دیتابیس در فایل کانفیگ برنامه رو گردن کاربر میندازه (کلا کار شاقی هم نیست خب و اونی که سیستم رو نصب میکنه میتونه این چندتا کار رو هم خودش انجام بده). ضمنا با ذخیرهء همه چیز در دیتابیس هم میشه از کارهای بعدی با فایلها هم اجتناب کرد (تاحد امکان).
باسلام دئست عزیز
نمیدئنی من چی کار کنم بتونم این کارو انجام بدم اخه رو لوکال یشه رئ هاست نمیشه
کله کارم بهم میریزه اگه نتونم

eshpilen
سه شنبه 25 مهر 1391, 10:59 صبح
خب دیگه باید آدم دقت داشته باشه و تحقیق کنه و تمام حالات متداول رو درنظر بگیره قبلش.
حالا بگرد شاید کنترل پنل ها خودشون API ای چیزی داشته باشن که بشه از توی PHP هم استفاده کرد. ولی 50-50 است که باشه و موفق بشی.
راه دیگش اینه که هاستی بگیری که این محدودیت رو نداشته باشه. احتمالا سرور اختصاصی (مجازی) یا یک پلان گرانتر.
راه دیگر اینه که برنامه رو تغییر بدی و بجای اینکه به ازای هر کاربر یک دیتابیس ایجاد کنی مثلا یک پیشوند به ابتدای اسم جدول ها اضافه کنی.
مثلا هر کاربر یک شماره id داشته باشه که اسم جدولهاش با اون شروع بشه. مثلا ‎23_messages.

کلا من فکر میکنم این محدودیت مال هاستهایی هست که تعداد دیتابیسی که میتونی توشون ایجاد کنی محدودیت داره.
شما اگر بخوای به ازای هر کاربر یک دیتابیس اضافه کنی اصولا میتونی این کار رو روی هاستهایی که محدودیت دیتابیس دارن انجام بدی؟! حتی اگر بتونی توسط PHP دیتابیس ایجاد کنی، محدودیت تعداد دیتابیس ها رو چه میکنی؟
اگر هاستت محدودیت تعداد دیتابیس نذاشته پس با ادمینش تماس بگیر و ببین میتونن کاری کنن که از طریق PHP هم دیتابیس ایجاد کنی یا نه. چون من فکر میکنم این محدودیت از طریق Privilege های یوزری که باهاش به MySQL کانکت میشی اعمال میشه، یا بهرحال یک تنظیمی چیزی جایی داره.

jionelmessi
سه شنبه 25 مهر 1391, 11:56 صبح
کلا من فکر میکنم این محدودیت مال هاستهایی هست که تعداد دیتابیسی که میتونی توشون ایجاد کنی محدودیت داره.
شما اگر بخوای به ازای هر کاربر یک دیتابیس اضافه کنی اصولا میتونی این کار رو روی هاستهایی که محدودیت دیتابیس دارن انجام بدی؟! حتی اگر بتونی توسط PHP دیتابیس ایجاد کنی، محدودیت تعداد دیتابیس ها رو چه میکنی؟
اگر هاستت محدودیت تعداد دیتابیس نذاشته پس با ادمینش تماس بگیر و ببین میتونن کاری کنن که از طریق PHP هم دیتابیس ایجاد کنی یا نه. چون من فکر میکنم این محدودیت از طریق Privilege های یوزری که باهاش به MySQL کانکت میشی اعمال میشه، یا بهرحال یک تنظیمی چیزی جایی داره.
مرسی داداش باز تو وقت گذاشتی راه خل دادی کمک ردی ولی من محدودیت دیتابیس ندارم
ا/ه به ازا هر کاربرم 6 تا جدول داشته باشم حالا با روشی که گفتی بسازم مشکل کند شدن و بهینه نبودن نداره به نظرت؟
یا محدودیت داشتن جدول برای یک دیتابیس چقدره؟

jionelmessi
سه شنبه 25 مهر 1391, 12:17 عصر
http://1forum.ir/163267/%D9%86%D8%B5%D8%A8-%D8%AE%D9%88%D8%AF%DA%A9 (http://1forum.ir/163267/%D9%86%D8%B5%D8%A8-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3.html)
%D8%A7%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3.html (http://1forum.ir/163267/%D9%86%D8%B5%D8%A8-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3.html)


دادا این تاپیک خودته من چه حوری مثل ورد پرس که اصلاعات دیتابیسو میگیره بعد خودکار میسازرو
مثل اون بسازم؟