/ / Jaka jest różnica między przygotowanymi instrukcjami PDO i MySQLi? - php, mysqli, pdo

Jaka jest różnica między przygotowanymi instrukcjami PDO i MySQLi? - php, mysqli, pdo

Jaka jest różnica między tymi dwoma prepared sprawozdania?

$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
}

Sprawdziłem wiele kursów na temat przygotowanych oświadczeńale jedyną, którą zrozumiałem, była druga droga, ponieważ można ją napisać w sposób proceduralny, czy to nie to samo, co w przypadku PDO, ponieważ oba są przygotowanymi instrukcjami? Czy istnieje między nimi różnica prędkości lub łatwość użycia? drugi sposób, ponieważ myślałem, że PreparedStatment = PDO, ale byłem zszokowany, gdy wiedziałem, że to nie jest PDO, używając

mysqli_prepare
mysqli_stmt_bind_param
mysqli_stmt_execute
mysqli_stmt_bind_result

Odpowiedzi:

4 dla odpowiedzi № 1

Różnica jest poniżej: -

  1. Mysqli jest tylko dla bazy danych MySQL. PDO obsługuje inne bazy danych wykorzystujące te same funkcje.
  2. Mysqli może być używany zarówno w stylu obiektowym, jak i proceduralnym. PDO jest zawsze zorientowany obiektowo.
  3. Mysqli obsługuje przygotowane instrukcje z "?" symbole zastępcze dla parametrów. PDO obsługuje oba "?" placeholders, a także nazwane placeholders, na przykład ": columnName".
  4. Mysqli wymaga użycia funkcji do wiązania każdej wartości parametru z przygotowaną instrukcją. PDO pozwala również po prostu przekazać tablicę wartości parametrów podczas wykonywania przygotowanej instrukcji.