/ / पीडीओ और MySQLi तैयार बयान के बीच क्या अंतर है? - php, mysqli, pdo

पीडीओ और MySQLi तैयार बयान के बीच क्या अंतर है? - php, mysqli, pdo

इन दोनों के बीच क्या अंतर है prepared बयान?

$stmt = $pdo->prepare("SELECT * FROM employees WHERE name = :name");

$stmt->execute(array("name" => $name));

foreach ($stmt as $row) {
// do something with $row
}

2

$stmt = $dbConnection->prepare("SELECT * FROM employees WHERE name = ?");
$stmt->bind_param("s", $name);

$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// do something with $row
}

मैंने तैयार बयानों के बारे में कई पाठ्यक्रमों की जांच कीलेकिन मुझे समझने वाला एकमात्र तरीका दूसरा तरीका था, क्योंकि इसे प्रक्रियात्मक में लिखा जा सकता है, क्या यह पीडीओ के समान नहीं है? क्योंकि उनमें से दोनों तैयार बयान हैं? क्या उनके बीच कोई गति अंतर या आसानी का उपयोग है? मैंने सीखा दूसरा तरीका क्योंकि मैंने सोचा था कि प्रीपेडस्टेटमेंट = पीडीओ लेकिन मुझे आश्चर्य हुआ जब मुझे पता था कि यह पीडीओ नहीं है

mysqli_prepare
mysqli_stmt_bind_param
mysqli_stmt_execute
mysqli_stmt_bind_result

उत्तर:

उत्तर № 1 के लिए 4

अंतर नीचे है: -

  1. Mysqli केवल MySQL डेटाबेस के लिए है। पीडीओ एक ही काम का उपयोग कर अन्य डेटाबेस का समर्थन करता है।
  2. Mysqli या तो एक ऑब्जेक्ट उन्मुख शैली या एक प्रक्रियात्मक शैली में इस्तेमाल किया जा सकता है। पीडीओ हमेशा वस्तु उन्मुख है।
  3. Mysqli तैयार कथन का समर्थन करता है "?" पैरामीटर के लिए प्लेसहोल्डर्स। पीडीओ दोनों "?" का समर्थन करता है प्लेसहोल्डर और प्लेसहोल्डर भी नामित किया गया है, जैसे "कॉलमनाम"।
  4. Mysqli की आवश्यकता है कि आप प्रत्येक पैरामीटर मान को तैयार कथन में बाध्य करने के लिए एक फ़ंक्शन का उपयोग करें। पीडीओ आपको तैयार कथन निष्पादित करते समय पैरामीटर मानों की सरणी को पारित करने की अनुमति देता है।