Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

लोड डेटा स्थानीय जानकारी पीडीओ का उपयोग कर php 5.5 से काम नहीं करता है

आपको दोनों को कॉन्फ़िगर करने की आवश्यकता है क्लाइंट और सर्वर इस कमांड को अनुमति देने के लिए:

  1. सुनिश्चित करें कि सर्वर LOAD DATA LOCAL INFILE की अनुमति देता है। MySQL सर्वर पर /etc/my.cnf संपादित करें:

    [server]
    local-infile=1
    
  2. अपनी PHP स्क्रिप्ट में PDO विशेषता सेट करें:

    <?php
    
    $dsn = "mysql:host=localhost;dbname=test";
    $user = "root";
    $password = "root";
    $pdo = new PDO($dsn, $user, $password, array(PDO::MYSQL_ATTR_LOCAL_INFILE=>1));
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $pdo->exec("LOAD DATA LOCAL INFILE 'foo.csv' INTO TABLE foo FIELDS TERMINATED BY ','");
    

    इसे कंस्ट्रक्टर के लिए ड्राइवर विकल्प तर्क में सेट करने की आवश्यकता है, न कि बाद के कॉल में setAttribute() .

    मैंने अभी उपरोक्त कोड उदाहरण का परीक्षण सफलतापूर्वक PHP 5.5.8 और Percona Server 5.6.15 CentOS Linux 6.5 पर किया है।

यदि आपको अभी भी परेशानी है, तो आपके पास MySQL क्लाइंट या PDO का निर्माण हो सकता है जो स्थानीय-इनफाइल की अनुमति नहीं देता है। आवश्यकताओं का वर्णन http://dev में किया गया है। mysql.com/doc/refman/5.6/hi/load-data-local.html

mysql.allow_local_infile आपके php.ini में विकल्प पीडीओ के लिए प्रासंगिक नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सीएसवी फ़ाइल आयात करते समय सीएसवी इनपुट में mysql अमान्य कॉलम गिनती

  2. mysql - मैंने उपयोगकर्ता तालिका हटा दी है! मैं इसे कैसे पुनर्प्राप्त कर सकता हूं?

  3. MySQL में राजस्व की गणना कैसे करें

  4. क्या मैं Google डिस्क स्प्रैडशीट्स को MySQL डेटाबेस की तरह बना सकता हूं?

  5. django 2 में माइग्रेशन त्रुटि; विशेषता त्रुटि:'str' ऑब्जेक्ट में कोई विशेषता नहीं है 'डीकोड'