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

ध्यान में न आया त्रुटि:एक सदस्य समारोह के लिए कॉल तैयार करें () शून्य त्रुटि पर

आपके कोड में बस कुछ गलतियाँ हैं। इन पंक्तियों का उपयोग करने का प्रयास करें:

कनेक्शन फ़ाइल :

<?php
class Connection {
    public $dbh;

    // Setting Database Source Name (DSN)
    public function __construct() {
        $dsn = 'mysql:host=localhost;dbname=employees';
        // Setting options
        $options = array (PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
        // Making the connection to the database
        try {
            $this->dbh = new PDO($dsn, 'root', '', $options); 
        }
        catch (PDOException $e) {
            $this->error = $e->getMessage();
        }
    }
}

$connection = new connection();

users.php फ़ाइल:

<?php

include 'connection.php';
class Users {
    public $name;
    public $surname;
    public $employmentDate;
    public $connection;

    public function __construct($connection)
    {
        $this->connection = $connection;
        if(isset($_POST['Submit'])) {
            $this->name = $_POST['name'];
            $this->surname = $_POST['surname'];
            $this->employmentDate = $_POST['employmentDate'];
        }
    }

    // Inserting users values to the database table
    public function insertUserValues() {
        $query = 'INSERT INTO employee (name,surname,employment_date) VALUES (:name,:surname,:employmentDate)';
        $stmt = $this->connection->dbh->prepare($query);
        $stmt->bindValue(':name',$this->name, PDO::PARAM_STR);
        $stmt->bindValue(':surname',$this->surname, PDO::PARAM_STR);
        $stmt->bindValue(':employmentDate',$this->employmentDate, PDO::PARAM_STR);
        $stmt->execute();
    }
}   

$users = new Users($connection);
$users->insertUserValues();

व्याख्या :

  • आपको $connection चर को अपने उपयोगकर्ता वर्ग में पास करना होगा (या इसे global $connection; के साथ आयात करना होगा। )
  • आपकी कनेक्शन फ़ाइल को dbh प्रॉपर्टी को दृश्यमान बनाना होगा, अन्यथा आप अपने डेटाबेस पर कोई क्वेरी नहीं कर पाएंगे
  • पीडीओ prepare() विधि पहले तर्क में एक प्रश्न की प्रतीक्षा कर रही है
  • यदि आप पहले ही अपने मानों को बाइंड कर चुके हैं, तो आपको एक्ज़ीक्यूट () विधि के लिए एक सरणी पास करने की आवश्यकता नहीं है


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP 5.3 . में अपग्रेड करने के बाद MySQL डेटाबेस परिणाम प्रदर्शित करते समय गलत वर्ण एन्कोडिंग का समाधान करना

  2. MySQL संयोजन अन्य तालिका से योग के साथ चयन करें

  3. एक HTML फॉर्म से रिकॉर्ड की मनमानी संख्या पोस्ट करना

  4. क्रेडिट और डेबिट से चल रहे शेष को प्रदर्शित करने के लिए एक MySQL क्वेरी कैसे बनाएं जहां एकाधिक ग्राहकों के पास व्यक्तिगत शेष राशि है

  5. utf8_bin बनाम utf_unicode_ci