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

\PDO::ATTR_EMULATE_PREPARES => true . का उपयोग करते समय Laravel डेटा बेमेल त्रुटि

1) सबसे पहले, आपको अपने डेटाबेस के pgsql ऐरे में दिए गए विकल्पों में दिए गए PDO विकल्प को बदलना होगा। नीचे दिए गए तरीके से सही तरीका है।

'pgsql' => [
        'driver' => 'pgsql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '5434'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),           
        'charset' => 'utf8',
        'prefix' => '',
        'schema' => 'public',
        'sslmode' => 'prefer',
        'options' => [
            PDO::ATTR_EMULATE_PREPARES => true
        ]       
        ]

2) दूसरा, और सबसे महत्वपूर्ण बात यह सुनिश्चित करना है कि आप अपने Database.php में कनेक्ट करने का प्रयास करने वाले प्रत्येक डेटाबेस कनेक्शन के साथ "ATTR_EMULATE_PREPARES" को "true" पर सेट करें। फ़ाइल।

उदाहरण के लिए,

'test' => [
        'driver' => 'pgsql',
        'host' => env('test', '127.0.0.1'),
        'port' => env('test', '5434'),
        'database' => env('DB_TEST_DATABASE', 'test'),
        'username' => env('DB_USERNAME', 'test'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
        'schema' => 'public',
        'sslmode' => 'prefer',
        'options' => [
            PDO::ATTR_EMULATE_PREPARES => true
        ]           
    ],
'test1' => [
        'driver' => 'pgsql',
        'host' => env('test1', '127.0.0.1'),
        'port' => env('test1', '5434'),
        'database' => env('DB_TEST1_DATABASE', 'test1'),
        'username' => env('DB_USERNAME', 'test'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
        'schema' => 'public',
        'sslmode' => 'prefer',
        'options' => [
            PDO::ATTR_EMULATE_PREPARES => true
        ]           
    ]

कृपया सुनिश्चित करें कि आपके द्वारा अपने आवेदन में किए गए प्रत्येक डेटाबेस कनेक्शन के लिए "ATTR_EMULATE_PREPARES" का उपयोग सही है, अपनी टिप्पणियों में आप केवल "pgsql" के साथ संबंध बनाते हैं, जो केवल sql कनेक्शन को पोस्टग्रेज करने पर जोर देता है, न कि उस डेटाबेस के साथ जो आपका एप्लिकेशन संचार करता है पोस्टग्रेज में है।

आशा है कि यह आपकी क्वेरी को हल करने में आपकी मदद करेगा। आनंद लें!!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किसी मौजूदा तालिका में PostgreSQL UNLOGGED सुविधा को कैसे लागू करें?

  2. psql वापसी कोड यदि शून्य पंक्तियाँ मिलीं

  3. Postgresql व्यू में दिनों और घंटों में दो डेटाटाइम फ़ील्ड अंतर कैसे प्राप्त करें?

  4. Postgresql में आप एक गतिशील 12 व्यावसायिक दिन का दृश्य कैसे प्राप्त करते हैं?

  5. PostgreSQL में सिंगल कोट्स के साथ टेक्स्ट डालें