🔴 Advanced · Lesson 26
PDO vs MySQLi
PDO vs MySQLi
Two Ways to Talk to MySQL
PHP has two main APIs to connect to databases: PDO and MySQLi. Both support prepared statements (safe queries), but differ in flexibility.
PDO vs MySQLi
| PDO | MySQLi |
|---|---|
| works with 12+ databases | MySQL only |
| named placeholders (:name) | ? placeholders |
| cleaner, recommended | MySQL-specific features |
PDO Example
$pdo = new PDO("mysql:host=localhost;dbname=school","root","");
$stmt = $pdo->prepare("SELECT * FROM students WHERE id = :id");
$stmt->execute(["id" => 1]);
Which to Use?
Use PDO for most projects — it works across databases and has cleaner syntax. Both are safe if you use prepared statements.
Summary
- PDO supports many databases with named placeholders; MySQLi is MySQL-only.
- PDO is generally recommended; both support prepared statements.
MySQL से बात करने के दो तरीके
PHP में databases से connect करने के दो मुख्य APIs हैं: PDO और MySQLi। दोनों prepared statements (safe queries) support करते हैं, पर flexibility में अलग हैं।
PDO बनाम MySQLi
| PDO | MySQLi |
|---|---|
| 12+ databases के साथ काम करता है | सिर्फ MySQL |
| named placeholders (:name) | ? placeholders |
| साफ, recommended | MySQL-specific features |
PDO Example
$pdo = new PDO("mysql:host=localhost;dbname=school","root","");
$stmt = $pdo->prepare("SELECT * FROM students WHERE id = :id");
$stmt->execute(["id" => 1]);
कौन सा Use करें?
ज़्यादातर projects के लिए PDO use करें — यह कई databases के साथ चलता है और syntax साफ है। Prepared statements use करें तो दोनों safe हैं।
सारांश
- PDO named placeholders के साथ कई databases support करता है; MySQLi सिर्फ MySQL।
- आमतौर पर PDO recommended; दोनों prepared statements support करते हैं।