2013-11-26 11 views
26

これは簡単な基本的な質問ですが、多くの人がこの質問をしているとは思えませんが、単にlaravelを使ってmySqlに接続するにはどうすればいいですか?(私は検索しました。私はノブであり、私は尋ねたいのですが、私が見たものは100%も得られないか、試してみても助けになりませんでした)?私はlaravelに真新しいlaravelでmysqlに接続するには?

backbone.jsと協力していています、私はデータベースの定義が必要になると考えて

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

laravelを設置しました情報、私はC:\wamp\www\laravel-project\app\config\database.phpをチェックし、それが正しいように見える、mySQLはデフォルトで設定されています'rootはユーザー名で、' 'は空のパスワードです。私はphp artisan migrateを実行した後、getコマンドラインで

エラーは、私は私のローカルホストサーバーのWindows 8、およびWAMPを使用して、それはもちろんphpmyadminのとMySQLが含まれています

[PDOException] 
SQLSTATE[HY000] [1049] Unknown database 'database'  

です。ですから、mySqlを使用する方法がたくさんあると確信していますが、私はlaravelとphpmyadminを正しく設定しているとは思いません。

だから、どんな洞察も素晴らしい、簡単な点です。

EDIT:

が実際に多分私は私はそれを試してみましょうdatabaseという名前のデータベースを作成する必要がありますを介してこれを考えます。すぐに戻って。私の質問に答えるか、誰かがこのトピックを検索する場合にのみ... KEYC:\wamp\www\laravel-project\app\config\database.phpで定義されたデータベースがphpmyadminのデータベースと一致することを確認してください。非常に簡単、考える必要のない!

答えて

25

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' => '', 
), 

あなたはこの正しく設定したら、簡単にデータベースにアクセスすることができるようになります!

ハッピーコーディング!

+0

これは正解です。 – echochamber

+0

helloo gerobk sir私はこのファイルでいくつかの変更を加えましたが、接続できません –

+1

現在のバージョンバージョンのソリューションについては下記を参照してください。 – Chris

4

はたぶん、あなたは最初のテーブルの移行を作成するのを忘れ:

php artisan migrate:install 

またのために多くの作業を行い非常にuserfulパッケージジェネレータ、がありますhttps://github.com/JeffreyWay/Laravel-4-Generators#viewsあなたはおそらく唯一のデータベースを作成するのを忘れ

+0

ありがとうございました... – Shrikant

0

。あなたのPHPMyAdminを入力し、そこから行います。

編集:間違いなくMaulikの答えには行かないでください。 mysql_extendstion(これは一般的に悪い習慣として知られています)を使用しているだけでなく、LaravelはPDOを使って接続を管理しています。

4

app/config/database.phpファイル自体を変更しないほうがずっといいです...そうでなければ.envファイルを変更してそこにDB情報を入れてください。もちろんはすでにapp/config/database.phpファイル内のデフォルトのデータベース接続としてmysqlを設定しておく必要があります。NOTE

.envファイルが...、Laravel 5に、それは以前のバージョンにあったかどうかわから使用できません)。 Laravel 5では

+0

MYSQLで動作する.envファイルを変更したい、私に例を挙げてください? – JavaFan

45

.envファイルがある、

そこ.env.sampleではあり.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ファイルが見つかりました。

+5

これは、Laravel 5以降の新しい承認済み回答です。 –

1

私はこのことを理解しようと多くの時間を費やしました。最後に、私は自分の開発サーバーをシャットダウンして、もう一度起動しようとしました。誠実に、これは私のために働いた。 Laravel 5の.envファイルを編集した後、サーバーを終了してphp artisan serveを再度実行する必要があります。

関連する問題