2013-11-26 9 views
26

यह इतना आसान बुनियादी सवाल है कि मुझे नहीं लगता कि बहुत से लोग यह पूछ रहे हैं, लेकिन मैं स्थानीय स्तर पर phpmyadmin के माध्यम से laravel के साथ अपने एसक्यूएल से कैसे जुड़ूं (मैंने खोज की है, कुछ सामान है, लेकिन मुझे पूछने की ज़रूरत है क्योंकि मुझे मैं एक नोब हूं और मैं पूछना चाहता हूं, मैंने जो सामान देखा वह मुझे 100% नहीं मिला या मैंने कोशिश की और इससे मदद नहीं मिली)?लार्वेल के साथ mysql से कैसे कनेक्ट करें?

मैं laravel को backbone.js साथ काम कर रहा हूँ और कर रहा हूँ नया है, मैं अंदर C:\wamp\www\laravel-project

laravel स्थापित मैं

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 डिफ़ॉल्ट पर सेट है s root उपयोगकर्ता नाम होने के नाते, और '' पासवर्ड खाली है।

कमांड लाइन मैं php artisan migrate चलाने के बाद मिल में त्रुटि

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

मेरी स्थानीय होस्ट सर्वर के लिए मैं खिड़कियों 8, और WAMP उपयोग कर रहा हूँ यह निश्चित रूप से phpmyadmin और MySQL शामिल है। तो मुझे यकीन है कि mySql का उपयोग करने के कई तरीके हैं लेकिन मुझे नहीं लगता कि मैं laravel और phpmyadmin को ठीक से स्थापित कर रहा हूं।

तो कोई अंतर्दृष्टि आश्चर्यजनक, आसान बिंदु होगी।

संपादित करें:

वास्तव में के माध्यम से इस बारे में सोच शायद मैं database नाम के एक डेटाबेस बनाने के लिए मुझे उस की कोशिश करते हैं की जरूरत है। जल्द वापस आएंगे। ठीक है, मैं अपने प्रश्न का उत्तर दूंगा या कोई भी कर सकता है, अगर कोई इस विषय को खोजता है ... कुंजी यह सुनिश्चित करने के लिए कि C:\wamp\www\laravel-project\app\config\database.php में परिभाषित डेटाबेस आपके phpmyadmin के अंदर मौजूद डेटाबेस से मेल खाता है। बिल्कुल आसान!

उत्तर

25

लार्वेल 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

को कनेक्ट करने में सक्षम नहीं हूं वर्तमान 5. * संस्करण समाधान के लिए नीचे देखें। – Chris

4

हो सकता है कि आप पहली बार एक मेज माइग्रेशन बनाने के लिए भूल गया:

php artisan migrate:install 

इसके अलावा वहाँ एक बहुत ही userful पैकेज जेनरेटर, जिसके लिए बहुत काम करता है आप https://github.com/JeffreyWay/Laravel-4-Generators#views

+0

धन्यवाद एक टन ... – Shrikant

0

आप शायद ही डेटाबेस बनाने के लिए भूल गया । अपना PHPMyAdmin दर्ज करें और इसे वहां से करें।

संपादित करें: निश्चित रूप से मौलिक के जवाब के साथ मत जाओ। न केवल यह mysql_ extenstion (जिसे आमतौर पर खराब अभ्यास माना जाता है) का उपयोग कर रहा है, लैरावेल पीडीओ का उपयोग करके आपके कनेक्शन का भी ख्याल रख रहा है।

4

app/config/database.php फ़ाइल को स्वयं संशोधित करने के लिए यह और भी बेहतर है ... अन्यथा .env फ़ाइल को संशोधित करें और अपनी डीबी जानकारी वहां रखें।

नोट (.env फ़ाइल Laravel 5 में उपलब्ध है, यकीन नहीं अगर यह वहाँ पिछले संस्करणों ... में था): बेशक आप पहले से ही होना चाहिए app/config/database.php फ़ाइल में अपने डिफ़ॉल्ट डेटाबेस कनेक्शन के रूप में mysql निर्धारित किया है।

+0

मैं MYSQL के साथ काम करने के लिए .env फ़ाइल को संशोधित करना चाहता हूं, कृपया मुझे उदाहरण दें? – JavaFan

45

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 है नहीं है, से बनाने की कोशिश यह है कि अगर कोई इस तरह के। एनवी फाइल मिली

+5

लार्वेल 5 के बाद से यह नया स्वीकार्य उत्तर होना चाहिए! –

1

मैंने इसे समझने की कोशिश में काफी समय बिताया। अंत में, मैंने अपने विकास सर्वर को बंद करने और इसे फिर से बूट करने का प्रयास किया। निराशाजनक, यह मेरे लिए काम किया। मैं निष्कर्ष पर आया, कि लार्वेल 5 में .env फ़ाइल को संपादित करने के बाद, आपको सर्वर से बाहर निकलना होगा, और php artisan serve फिर से चलाएं।

संबंधित मुद्दे