これは非常に単純な基本的な質問です。これを尋ねる人はあまりいないと思いますが、単にlaravelを使用してlocalhost phpmyadminからmySqlに接続するにはどうすればよいですか(検索しましたが、私は初心者であり、私は尋ねたいので、尋ねる必要があります、私が見たものは100%を得られないか、試しましたが助けにはなりませんでしたか?
私は backbone.js で作業しており、 laravel を初めて使用します。 laravel をC:\wamp\www\laravel-project
にインストールしました
私は試した
c:\wamp\www\laravel-project> php artisan migrate:make create_tasks_table --table tasks --create
そして
c:\wamp\www\laravel-project> php artisan migrate
データベース情報を定義する必要があります。C:\wamp\www\laravel-project\app\config\database.php
をチェックしましたが、正しいように見えます。mySQLはデフォルトのroot
がユーザー名で、 '' emptyがパスワードです。
php artisan migrate
を実行した後に表示されるコマンドラインのエラーは
[PDOException]
SQLSTATE[HY000] [1049] Unknown database 'database'
私はWindows 8を使用しており、localhostサーバーにはwampを使用しています。もちろん、phpmyadminとmySqlが含まれています。したがって、mySqlを使用する方法はたくさんあると確信していますが、 laravel とphpmyadminを適切に設定しているとは思いません。
したがって、洞察は驚くべき簡単なポイントになります。
編集:
実際に考えてみると、database
という名前のデータベースを作成する必要があるかもしれません。すぐに戻って。さて、誰かがこのトピックを検索した場合に備えて、質問に答えるか、誰かが答えることができます...データベースが定義されていることを確認するのはKEYですin C:\wamp\www\laravel-project\app\config\database.php
は、phpmyadmin内に存在するデータベースと一致します。非常に簡単、考える必要のない!
Laravelを使用すると、app/config/database.php
を介してデータベース接続を非常に簡単に管理できます。
既に述べたように、「データベース」と呼ばれるデータベースを探しています。これは、データベース構成ファイルのデフォルト名であるためです。
'mysql' => array(
'driver' => 'mysql',
'Host' => 'localhost',
'database' => 'database', <------ Default name for database
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
これを次のように接続するデータベースの名前に変更します。
'mysql' => array(
'driver' => 'mysql',
'Host' => 'localhost',
'database' => 'my_awesome_data', <------ change name for database
'username' => 'root', <------ remember credentials
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
これを正しく設定すると、データベースに簡単にアクセスできるようになります!
ハッピーコーディング!
Laravel 5には、.env
ファイルがあり、
のように見える
APP_ENV=local
APP_DEBUG=true
APP_KEY=YOUR_API_KEY
DB_Host=YOUR_Host
DB_DATABASE=YOUR_DATABASE
DB_USERNAME=YOUR_USERNAME
DB_PASSWORD=YOUR_PASSWORD
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_Host=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
.envを編集します。env.sampleがあります。そのような.envファイルが見つからない場合は、そこから作成してみてください。
また、app/config/database.php
ファイル自体を変更しないことをお勧めします。そうでない場合は、.env
ファイルを変更して、DB情報をそこに配置します。 (.env
ファイルはLaravel 5で利用可能です。以前のバージョンにあったかどうかはわかりません...)
注:もちろん、app/config/database.php
ファイルでmysql
をデフォルトのデータベース接続としてすでに設定しているはずです。
たぶん、最初にテーブルの移行を作成するのを忘れたかもしれません:
php artisan migrate:install
また、非常にユーザーフレンドリーなパッケージGeneratorsがあり、これは多くの作業を行います https://github.com/JeffreyWay/Laravel-4-Generators#views
私はこれを理解しようと多くの時間を費やしました。最後に、開発サーバーをシャットダウンし、再度起動してみました。イライラして、これは私のために働いた。 Laravel 5の.env
ファイルを編集した後、サーバーを終了し、php artisan serve
を再度実行する必要があるという結論に達しました。
おそらくデータベースを作成するのを忘れただけでしょう。 PHPMyAdminを入力し、そこから実行します。
編集:間違いなくMaulikの答えを使わないでください。 mysql_ extenstion(これは一般的に悪い習慣と認識されています)を使用しているだけでなく、LaravelもPDOを使用して接続を処理しています。