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

पीडीओ डेटाबेस कनेक्शन के साथ आसान सीआरयूडी ऑपरेशन

डेटाबेस हर जगह हैं और कोई व्यावहारिक PHP अनुप्रयोग नहीं है जो डेटाबेस के बिना मौजूद हो सकता है। शुरुआत से ही, PHP सभी लोकप्रिय DBMS के साथ इंटरफेस करने के कई तरीके प्रदान करता है। उदाहरण के लिए, MySQL आधारित डेटाबेस के साथ इंटरफेस करने के दो लोकप्रिय तरीके हैं mysql और mysqli.

वर्षों से, डेटाबेस एक लंबा सफर तय कर चुके हैं और अब कई अलग-अलग विक्रेता लोकप्रिय डीबीएमएस पेश करते हैं जो आधुनिक PHP ऐप्स को शक्ति देते हैं। विकास प्रथाओं को मानकीकृत और सुव्यवस्थित करने के लिए, PHP ने PHP 5.1 में PHP डेटा ऑब्जेक्ट (PDO) पेश किया। इन वस्तुओं का उपयोग पीडीओ डेटाबेस कनेक्शन स्थापित करने के लिए किया जाता है।

पीडीओ एक डेटाबेस एक्सेस लेयर है जो PHP अनुप्रयोगों में डेटाबेस तक पहुँचने और प्रबंधित करने के लिए एक तेज़ और सुसंगत इंटरफ़ेस प्रदान करता है। प्रत्येक DBMS में विशिष्ट PDO ड्राइवर (ड्राइवर) होते हैं जिन्हें तब स्थापित किया जाना चाहिए जब आप PHP अनुप्रयोगों में PDO का उपयोग कर रहे हों।

समर्थित डेटाबेस

ड्राइवर का नाम समर्थित डेटाबेस

PDO_CUBRID क्यूब्रिड
PDO_DBLIB FreeTDS / Microsoft SQL सर्वर / Sybase
PDO_FIREBIRD फ़ायरबर्ड
PDO_IBM आईबीएम डीबी2
PDO_INFORMIX आईबीएम इनफॉर्मिक्स डायनामिक सर्वर
PDO_MYSQL MySQL 3.x/4.x/5.x
PDO_OCI Oracle कॉल इंटरफ़ेस
PDO_ODBC ODBC v3 (IBM DB2, unixODBC और win32 ODBC)
PDO_PGSQL PostgreSQL
PDO_SQLITE SQLite 3 और SQLite 2
PDO_SQLSRV माइक्रोसॉफ्ट एसक्यूएल सर्वर / एसक्यूएल एज़ूर
PDO_4D 4D

डिफ़ॉल्ट रूप से, PHP में PDO_SQLite ड्राइवर स्थापित है। हालाँकि, यदि आप अन्य डेटाबेस के साथ काम करना चाहते हैं, तो आपको पहले संबंधित ड्राइवर को स्थापित करना होगा।

यह जांचने के लिए कि आपके सिस्टम पर कौन से ड्राइवर स्थापित हैं, एक नई PHP फ़ाइल बनाएं और उसमें निम्न कोड स्निपेट जोड़ें:

<?php

print_r(PDO::getAvailableDrivers());

?>

पीडीओ के साथ काम करना

पीडीओ पिछले सभी डेटाबेस इंटरैक्शन दृष्टिकोणों को बदल देता है। पीडीओ का उपयोग करके, आप आसानी से सीआरयूडी और संबंधित डीबीएमएस संचालन कर सकते हैं। वास्तव में, पीडीओ एक परत के रूप में कार्य करता है जो डेटाबेस से संबंधित कार्यों को शेष कोड से अलग करता है।

आपको यह भी पसंद आ सकता है:  PHP और MySQL में सरल CRUD

कनेक्टिविटी

पीडीओ के सबसे महत्वपूर्ण लाभों में से एक सरल और बहुत ही सरल डेटाबेस कनेक्टिविटी है। निम्नलिखित कोड स्निपेट पर विचार करें जिसका उपयोग डेटाबेस के साथ कनेक्शन स्थापित करने के लिए किया जाता है। ध्यान दें कि जब अंतर्निहित डीबीएमएस बदलता है, तो आपको केवल डेटाबेस प्रकार बदलने की आवश्यकता होती है।

<?php

Class Connection {

private  $server = "mysql:host=localhost;dbname=cloudways";

private  $user = "root";

private  $pass = "";

private $options  = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,);

protected $con;
 
          	public function openConnection()

           	{

               try

                 {

	        $this->con = new PDO($this->server, $this->user,$this->pass,$this->options);

	        return $this->con;

                  }

               catch (PDOException $e)

                 {

                     echo "There is some problem in connection: " . $e->getMessage();

                 }

           	}

public function closeConnection() {

   	$this->con = null;

	}

}

?>

उपरोक्त कोड स्निपेट में, ध्यान दें कि DBMS MySQL है। हालाँकि, यदि DBMS MS SQL सर्वर में बदल जाता है, तो केवल mysql का प्रतिस्थापन होगा। mssql के साथ।

नोट: पीडीओ अपवादों को संभाल सकता है। इसलिए, इसके संचालन को हमेशा एक कोशिश और पकड़ ब्लॉक में लपेटें।


सर्वर पर समय बर्बाद करना बंद करें

Cloudways आपके लिए सर्वर प्रबंधन को संभालता है ताकि आप बेहतरीन ऐप्स बनाने और अपने ग्राहकों को खुश रखने पर ध्यान केंद्रित कर सकें।

मुफ़्त में शुरू करें


पीडीओ के साथ तालिका बनाना

तालिका बनाने के लिए, पहले एक क्वेरी स्ट्रिंग घोषित करें और फिर इसे exec . के साथ निष्पादित करें कार्य करें क्योंकि कोई डेटा वापस नहीं किया जाएगा।

<?php

include_once 'connection.php';

try

{

     $database = new Connection();

     $db = $database->openConnection();

     // sql to create table

     $sql = "CREATE TABLE `Student` ( `ID` INT NOT NULL AUTO_INCREMENT , `name`VARCHAR(40) NOT NULL , `last_ame` VARCHAR(40) NOT NULL , `email` VARCHAR(40)NOT NULL , PRIMARY KEY (`ID`)) ";

     // use exec() because no results are returned

     $db->exec($sql);

     echo "Table Student created successfully";

     $database->closeConnection();

}

catch (PDOException $e)

{

    echo "There is some problem in connection: " . $e->getMessage();

}

?>

पीडीओ के साथ डेटा सम्मिलित करना

PDO का उपयोग करके तालिका में डेटा सम्मिलित करने के लिए, पहले तैयार . का उपयोग करके क्वेरी तैयार करें बयान। इसके बाद, इस क्वेरी को निष्पादित . के साथ निष्पादित किया जाता है समारोह। ध्यान दें कि यह अभ्यास SQL ​​इंजेक्शन हमलों को रोकता है।

<?php

include_once 'connection.php';

try

{

    $database = new Connection();

    $db = $database->openConnection();

    // inserting data into create table using prepare statement to prevent from sql injections

    $stm = $db->prepare("INSERT INTO student (ID,name,last_name,email) VALUES ( :id, :name, :lastname, :email)") ;

    // inserting a record

    $stm->execute(array(':id' => 0 , ':name' => 'Saquib' , ':lastname' => 'Rizwan' , ':email' => '[email protected]'));

    echo "New record created successfully";

}

catch (PDOException $e)

{

    echo "There is some problem in connection: " . $e->getMessage();

}

?>

पीडीओ के साथ डेटा चुनें

डेटा का चयन करने के लिए, पहले एक क्वेरी स्ट्रिंग बनाएं और फिर उसे प्रत्येक के लिए . में निष्पादित करें तालिका से रिकॉर्ड लाने के लिए लूप।

<?php

include_once 'connection.php';

try

{

    $database = new Connection();

    $db = $database->openConnection();

    $sql = "SELECT * FROM student " ;

    foreach ($db->query($sql) as $row) {

    echo " ID: ".$row['ID'] . "<br>";

    echo " Name: ".$row['name'] . "<br>";

    echo " Last Name: ".$row['last_name'] . "<br>";

    echo " Email: ".$row['email'] . "<br>";

    }

}

catch (PDOException $e)

{

    echo "There is some problem in connection: " . $e->getMessage();

}

?>

पीडीओ के साथ डेटा अपडेट करें

तालिका में किसी रिकॉर्ड को अपडेट करने के लिए, पहले एक क्वेरी स्ट्रिंग घोषित करें और फिर इसे exec के साथ निष्पादित करें समारोह।

<?php

include_once 'connection.php';

try

{

     $database = new Connection();

     $db = $database->openConnection();

     $sql = "UPDATE `student` SET `name`= 'yourname' , `last_name` = 'your lastname' , `email` = 'your email' WHERE `id` = 8" ;

     $affectedrows  = $db->exec($sql);

   if(isset($affectedrows))

    {

       echo "Record has been successfully updated";

    }          

}

catch (PDOException $e)

{

    echo "There is some problem in connection: " . $e->getMessage();

}

?>

पीडीओ के साथ डेटा हटाएं

तालिका से किसी रिकॉर्ड को हटाने के लिए, पहले एक क्वेरी स्ट्रिंग घोषित करें और फिर इसे exec के साथ निष्पादित करें समारोह।

<?php

include_once 'connection.php';

try

{

     $database = new Connection();

     $db = $database->openConnection();

     $sql = "DELETE FROM student WHERE `id` = 8" ;

     $affectedrows  = $db->exec($sql);

   if(isset($affectedrows))

    {

       echo "Record has been successfully deleted";

    }          

}

catch (PDOException $e)

{

   echo "There is some problem in connection: " . $e->getMessage();

}

?>

निष्कर्ष

पीडीओ डेटा एक्सेस करने वाली परत है जो डेटाबेस से जुड़ने और काम करने की प्रक्रिया को बहुत आसान बनाती है। शायद, पीडीओ के बारे में सबसे अच्छी बात डेटाबेस माइग्रेशन की सुव्यवस्थित प्रक्रिया है। यदि आप पुनरावर्तक के साथ अपने पीडीओ प्रश्नों को गति देना चाहते हैं, तो माइकल एंजेलो वैन डैम के इस लेख को देखें।

इस लेख में, मैंने पीडीओ का परिचय दिया और इस बात पर प्रकाश डाला कि आप PHP में पीडीओ का उपयोग करके सीआरयूडी क्रियाएं कैसे कर सकते हैं। मैंने पीडीओ डेटाबेस कनेक्शन की स्थापना का भी प्रदर्शन किया। यदि आपके कोई प्रश्न हैं या चर्चा में जोड़ना चाहते हैं, तो नीचे एक टिप्पणी छोड़ दें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस डिजाइनरों को क्या कौशल और ज्ञान की आवश्यकता है?

  2. एसक्यूएल बेसिक कमांड:उदाहरणों के साथ सरल प्रश्न कैसे लिखें

  3. बार्कर का अंकन

  4. TimescaleDB के लिए प्रदर्शन निगरानी

  5. एसक्यूएल और नोएसक्यूएल के बीच अंतर