Using mysqli and PDO for database connections In Hindi
पीएचपी प्रोग्रामिंग में माईएसक्यूल डेटाबेस सॉफ्टवेयर के साथ बैकेंड डील करते समय, डेटाबेस यूजर के पास माईएसक्यूल डेटाबेस के साथ इंटरैक्ट करने के लिए दो ऑप्शन होते हैं. जिसमे माईएसक्यूएली और पीडीओ (पीएचपी डेटा ऑब्जेक्ट) ऑप्शन शामिल है। यहाँ माईएसक्यूएली और पीडीओ दोनों मेथड का यूज़ डेटाबेस के साथ इंटरैक्शन करने में किया जाता है, यहाँ आपको माईएसक्यूएली और पीडीओ दोनों के फंक्शन फीचर्स एडवांटेज और डिसएडवांटेज के बारे में जानने को मिलेगा।

So, let’s Analyze the MySQLi and PDO options in detail.
Using MySQLi in PHP is an advanced version of MySQL.
पीएचपी प्रोग्रामिंग में माईएसक्यूएली एक्सटेंशन को स्पेशली माईएसक्यूल डेटाबेस सॉफ्टवेयर के साथ बैकेंड में इंटरैक्ट करने के लिए डिज़ाइन किया गया है। यह पीएचपी प्रोग्रामर को एक प्रोसीज़रल और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग फीचर्स के रूप में एपीआई फीचर्स प्रोवाइड करता है।
Connecting to a MySQL database using the MySQLi (object-oriented) approach in PHP programming.
<?php
$servername = “localhost”;
$username = “root”;
$password = “”;
$dbname = “test_database”;
// this code used to Create a mysql database connection using object-oriented programming approach
$conn = new mysqli($servername, $username, $password, $dbname);
// this code used to Check database connection
if ($conn->connect_error) {
die(“database Connection unsuccessful ” . $conn->connect_error);
}
echo “database Connection successful”;
?>
Connecting to a MySQL database using MySQLi procedural methods in PHP programming.
<?php
$servername = “localhost”;
$username = “root”;
$password = “”;
$dbname = “test_database”;
// this code used to Create a connection using procedural programming approach
$conn = mysqli_connect($servername, $username, $password, $dbname);
// this code used to Check database connection
if (!$conn) {
die(“database Connection unsuccessful ” . mysqli_connect_error());
}
echo “database Connection successful”;
?>
Querying the database with the MySQLi mysql extension in PHP programming.
Running a SELECT Query Procedural Method from the MySQLi Extension.
<?php
$sql = “SELECT id, emp_name, email FROM employee”;
$output = mysqli_query($conn, $sql);
// this code used to Check if query was successful and properly fetch the data
if (mysqli_num_rows($output) > 0) {
while($row = mysqli_fetch_assoc($output)) {
echo “id – ” . $row[“id”] . ” – Emp_Name – ” . $row[“emp_name”] . ” – Email – ” . $row[“email”] . “<br>”;
}
} else {
echo “0 output”;
}
?>
Running a SELECT Query Object-Oriented Method in PHP Programming.
<?php
$sql = “SELECT emp_id, emp_name, email FROM employee”;
$output = $conn->query($sql);
// this code used to Check if query was successful and fetch the data
if ($output->num_rows > 0) {
while($row = $output->fetch_assoc()) {
echo “emp_id – ” . $row[“emp_id”] . ” – emp_Name – ” . $row[“emp_name”] . ” – Email – ” . $row[“email”] . “<br>”;
}
} else {
echo “0 output”;
}
?>
Prepared statements in PHP programming with the MySQLi extension.
पीएचपी प्रोग्रामिंग में प्रेपर स्टेटमेंट एसक्यूल इंजेक्शन को स्टॉप करने में हेल्प करते हैं, और ये प्रेपर स्टेटमेंट एक ही क्वेरी को मल्टीप्ल टाइम रन करने पर अधिक एफ्फिसिएंट हो जाते हैं।
Insert data using prepared statements in PHP programming using the object-oriented method.
<?php
$statement = $conn->prepare(“INSERT INTO employee (emp_name, email) VALUES (?, ?)”);
$statement->bind_param(“ss”, $emp_name, $email);
// this code used to Set parameters and execute inserted table data
$emp_name = “Siddhi deora”;
$email = “siddhi@domain.com”;
$statement->execute();
echo “New table record inserted successfully”;
$statement->close();
?>
Prepared statements in PHP are used to select data using the object-oriented method.
<?php
$statement = $conn->prepare(“SELECT emp_id, emp_name, email FROM emplyee WHERE id = ?”);
$stmt->bind_param(“i”, $emp_id);
// this code used to Set parameters and execute table query
$id = 1;
$statement->execute();
$statement->bind_result($emp_id, $emp_name, $email);
// this code used to Fetch the results
while ($statement->fetch()) {
echo “emp_id – $emp_id – Emp_Name – $emp_name – Email- $email <br>”;
}
$statement->close();
?>
Using PDO (PHP Data Objects) in PHP Programming.
पीएचपी प्रोग्रामिंग में पीडीओ डेटाबेस बैकेंड फॉर्मेट में इंटरैक्शन के लिए एक मोर फ्लेक्सिबल और पॉवरफुल ऑप्शन चॉइस है, जो पीएचपी प्रोग्रामिंग में कई पीडीओ डेटाबेस सिस्टम जैसे, माईएसक्यूल, पोस्टग्रेएसक्यूल, एसक्यूललाइट, आदि सॉफ्टवेयर का डायरेक्ट सपोर्ट प्रोवाइड करता है. जबकि माईएसक्यूएली एक्सटेंशन पीएचपी प्रोग्रामिंग में माईएसक्यूल एक स्पेसिफिक बैकेंड डेटाबेस इंटरेक्शन ऑप्शन है।
Connecting to a Database Using PDO in PHP Programming.
<?php
$servername = “localhost”;
$username = “root”;
$password = “”;
$dbname = “test_database”;
try {
// this code used to Create a new PDO instance and set error mode to any exception
$conn = new PDO(“mysql:host=$servername;dbname=$dbname”, $username, $password);
// this code used to Set the PDO error mode to any exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo “databse Connected success”;
catch(PDOException $e) {
echo “database Connection unsuccess ” . $e->getMessage();
?>
Querying a database with PDO in PHP programming.
Running a SELECT query with PDO in PHP programming.
<?php
$sql = “SELECT emp_id, emp_name, email FROM employee”;
$statement = $conn->prepare($sql);
$statement->execute();
// this code used to Fetch statement or table data
while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
echo “emp_id – ” . $row[“emp_id”] . ” – Emp_Name – ” . $row[“emp_name”] . ” – Email – ” . $row[“email”] . “<br>”;
}
?>
Prepared Statements with PDO in PHP Programming.
Insert data using prepared statements (PDO) in PHP programming.
<?php
$statement = $conn->prepare(“INSERT INTO employee (emp_name, email) VALUES (:emp_name, :email)”);
$statement->bindParam(‘:emp_name’, $emp_name);
$statement->bindParam(‘:email’, $email);
// this code used to Set insert table parameters and execute
$name = “Siddhi”;
$email = “siddhi@domain.com”;
$statement->execute();
echo “New table record inserted successfully”;
?>
Select data using prepared statements (PDO) in PHP programming.
<?php
$statement = $conn->prepare(“SELECT emp_id, emp_name, email FROM employee WHERE id = :id”);
$statement->bindParam(‘:emp_id’, $emp_id);
// this code used to Set parameters and execute table statement
$id = 1;
$statement->execute();
// this code used to Fetch table data
while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
echo “emp_id – ” . $row[“emp_id”] . ” – Emp_Name – ” . $row[“emp_name”] . ” – Email – ” . $row[“email”] . “<br>”;
}
?>
When to use the mysql MySQLi extension in PHP programming.
पीएचपी प्रोग्रामिंग में यदि डेटाबेस यूजर केवल माईएसक्यूल डेटाबेस के साथ काम करना चाहते हैं, और उसे इजी टू यूज़ डेटाबेस बैकेंड इंटरैक्शन के लिए एक इजी एपीआई की जरूरत है. तो माईएसक्यूल डेटाबेस का माईएसक्यूएली एक्सटेंशन एक बेहतर ऑप्शन है। माईएसक्यूल का माईएसक्यूएली स्माल डेटाबेस प्रोजेक्ट्स के लिए और जब आपको डेटाबेस एब्स्ट्रैक्शन की कम आवश्यकता न हो, तब यह एक आइडियल चॉइस है।
When to use PDO in PHP programming over MySQL, PostgreSQL, SQLite, etc. software.
पीएचपी प्रोग्रामिंग में यदि डेटाबेस यूजर किसी लार्ज वॉल्यूम प्रोजेक्ट पर काम कर रहे हैं, या डेटाबेस यूजर को मल्टीप्ल डेटाबेस बैकेंड सिस्टम के साथ इंटरैक्ट करने के लिए फ्लेक्सिबिलिटी की जरूरत है, तो पीडीओ पीएचपी डेटाबेस कनेक्टिविटी के लिए एक बेहतर चॉइस है। यह डेटाबेस यूजर को नेम्ड प्लेसहोल्डर, बेहतर एरर प्रमैनेजमेंट और डेटाबेस एब्स्ट्रैक्शन जैसी एडवांस्ड फीचर्स प्रोवाइड करता है. जो डेटाबेस यूजर को काम्प्लेक्स डेटाबेस एप्लीकेशन ऑपरेशन्स के लिए एक अधिक यूनिवर्सल चॉइस प्रोवाइड करता है।
Detail Comparison of MySQLi and PDO database extension in php programming
Api Feature | MySQLi mysql extension | PDO (MySQL, PostgreSQL, SQLite, etc) extension |
Database Support | It supports MySQL database software as backend only | It supports Multiple databases software such as (MySQL, PostgreSQL, SQLite, etc.) |
API Style | It supports Object-Oriented and Procedural method | It supports Object-Oriented database method only |
Prepared Statements | It supports Prepared Statements | It also supports Prepared Statements |
Named Placeholders | It is not supporting Named Placeholders | It supports Named Placeholders features |
Multiple Statements | It is not supporting Multiple Statements | It supports Multiple Statements (can execute multiple queries in a single call) |
Transaction Support | It supports Transaction Support | It is also supporting Transaction Support |
Error Handling | You need to manual Error handling is manual using mysqli_error() condition | It supports Error handling is automatic with exceptions management |
Fetching Data | It fetching data with Associative, Numeric, or Both using fetch_assoc(), fetch_row(), etc. method | It allows Flexible data fetching method (e.g., PDO::FETCH_ASSOC, PDO::FETCH_OBJ) |
Database Abstraction | It is not supporting Database Abstraction method | Yes, as it supports multiple Database Abstraction types |
A summary of MySQLi and PDO (PHP Data Objects) in PHP programming.
- पीएचपी प्रोग्रामिंग में माईएसक्यूएली और पीडीओ दोनों ही पीएचपी में बैकेंड डेटाबेस इंटरेक्शन कनेक्शन के लिए बेस्ट चॉइस हैं, लेकिन डेटाबेस यूजर इन्हे अपनी जरूरत के अनुसार अलग-अलग पर्पस के लिए यूज़ कर सकते हैं.
- माईएसक्यूल का माईएसक्यूएली एक्सटेशन उन एप्लीकेशन के लिए सबसे बेस्ट है, जो केवल माईएसक्यूल डेटाबेस के साथ इंटरैक्ट या कम्यूनिकेट करना चाहते है।
- यदि डेटाबेस यूजर को अधिक फ्लेक्सिबल और डेटाबेस सपोर्टेड ओवरव्यू की जरूरत है, जो सिंगल टाइम में मल्टीप्ल डेटाबेस का सपोर्ट प्रोवाइड करता हो, तो पीएचपी में लार्ज प्रोजेक्ट के लिए पीडीओ एक आइडियल चॉइस है।