رفتن به مطلب
انجمن پشتیبانی لاراول ایران
مهدی

مشکل در اتصال به دیتابیس

Recommended Posts

با سلام.من یه پروژه جدید درست کردم وقتی که میخوام دستور php artisan migrate استفاده کنم این ارور میده

 Illuminate\Database\QueryException

  SQLSTATE[HY000] [1049] Unknown database 'school' (SQL: select * from information_schema.tables where table_schema = school and table_name = migrations and table_type = 'BASE TABLE')

  at D:\NarmAfzar\Programming\InstalingSoftwer\wamp64\www\larve\vendor\laravel\framework\src\Illuminate\Database\Connection.php:670
    666|         // If an exception occurs when attempting to run a query, we'll format the error
    667|         // message to include the bindings with SQL, which will make this exception a
    668|         // lot more helpful to the developer instead of just the database's errors.
    669|         catch (Exception $e) {
  > 670|             throw new QueryException(
    671|                 $query, $this->prepareBindings($bindings), $e
    672|             );
    673|         }
    674|

  1   D:\NarmAfzar\Programming\InstalingSoftwer\wamp64\www\larve\vendor\laravel\f
      PDOException::("SQLSTATE[HY000] [1049] Unknown database 'school'")

  2   D:\NarmAfzar\Programming\InstalingSoftwer\wamp64\www\larve\vendor\laravel\f
      PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=school", "root", ""

تنظیمات فایل .envهم درست کاملا

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=school
DB_USERNAME=root
DB_PASSWORD=
 

و توی php.ini هم خط روبرو اومده 

extension=pdo_mysql
 
 
نمیدونم مشلکش چیه لطفا راهنمایی کنید

Share this post


Link to post
Share on other sites

هاست لاراول با پشتیبانی 24 ساعته و امکانات کامل از مدیرهاست

سلام مهدی عزیز

شما باید ابتدا دیتابیس خود را پاک کنید و تمام جداول رو پاک کنید.  سپس وارد پوشه app\Providers\AppServiceProvider.php  میشوید و در تابع boot این کد را مینویسی

 public function boot()
    {
        //
        Schema::defaultStringLength(191);
    }

و در ابتدا دستور

use Illuminate\Support\Facades\Schema;

را باید اضافه کنید و در انتها دستور

php artisan migrate

اجرا کنید و کار تمام

موفق باشید

Share this post


Link to post
Share on other sites
در 8 ساعت قبل، مهدی گفته است :

این کارا رو انجام دادم و اما مشکل همچنان باقیست

علاوه بر مواردی که دوست عزیزمون بهتون گفتن توی خطای شما گفته دیتابیس school رو شناسایی نمیکنه چک کنید این دیتابیس در phpmyadmin موجود باشه

و اگر قبلا مقادیر دیگه ای در تنظیمات ثبت کرده بودید ممکنه اطلاعات کش شده و اطلاعات قدیمی رو میاره شما یکبار دستور زیر رو هم اجرا کنید و تست بگیرید

php artisan cache:clear

 

Share this post


Link to post
Share on other sites
در 11 ساعت قبل، saber گفته است :

علاوه بر مواردی که دوست عزیزمون بهتون گفتن توی خطای شما گفته دیتابیس school رو شناسایی نمیکنه چک کنید این دیتابیس در phpmyadmin موجود باشه

و اگر قبلا مقادیر دیگه ای در تنظیمات ثبت کرده بودید ممکنه اطلاعات کش شده و اطلاعات قدیمی رو میاره شما یکبار دستور زیر رو هم اجرا کنید و تست بگیرید


php artisan cache:clear

 

این کار انجام دادم حتی محتویات پوشه cash از پوشه bootstrap هم دستی پاک کردم ولی ارور همچنان پابرجاست

Share this post


Link to post
Share on other sites
در 2 ساعت قبل، مهدی گفته است :

این کار انجام دادم حتی محتویات پوشه cash از پوشه bootstrap هم دستی پاک کردم ولی ارور همچنان پابرجاست

اگه از ومپ استفاده میکنید با زمپ تست کنید

 

Share this post


Link to post
Share on other sites

سلام آقا مهدی علاوه بر راهنمایی خوب دوستان مراحلی رو هم بنده خدممتون میگم تا مشکلتون حل بشه...

1 - از ساخت و موجود بودن دیتابیسschool اطمینان حاصل نمایید

2 - در فایل env. مقادیر ذیل را که خودتون هم صحیح وارد کردید را انجام دهید .

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=school
DB_USERNAME=root
DB_PASSWORD=

3 - بخش مهم!!! اگر از قبل سرورتون (ومپ،زمپ،لمپ) آماده به کار می باشند پس از تنظیمات فایل env. نسبت به ریستارت (stop and start) نمودن سرور اقدام کنید

4 - بخش مهم!!! اگر از قبل سرور لوکال تون رو run (php artisan serve) کردید از حالت آماده به کار درآورید و پس از بستن محیط cmd مجددا وارد cmd شده و سپس run نمایید.

بیان این نکته هم خالی از لطف نیست که بدونید بنده وقتی با نسخه های مختلف لاراول کار میکنم و در هنگام استفاده از مایگریشن ها حتما دستور ذیل رو در مسیر   app\Providers\AppServiceProvider.php  می نویسم و سپس یه تست میگیرم تا بدونم با دیتابیس ارتباط دارم یا نه...

 public function boot()
    {
        //
        Schema::defaultStringLength(191);
    }

در پایان امیدوارم مشکل برطرف بشه... موفق باشید

Share this post


Link to post
Share on other sites

وارد این گفتگو شوید

میتوانید پیام خود را ارسال کنید و بعد ثبت نام نمایید. در صورتی که حساب کاربری دارید, هم اکنون وارد شوید و در این گفتگو شرکت کنید.

مهمان
پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  Only 75 emoji are allowed.

×   لینک شما به صورت اتوماتیک جایگذاری شد.   نمایش به عنوان یک لینک به جای

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • جدید...