/ / Aký je rozdiel medzi pripravenými príkazmi CHO a MySQL? - php, mysqli, pdo

Aký je rozdiel medzi pripravenými príkazmi CHO a MySQLi? - php, mysqli, pdo

Aký je rozdiel medzi týmito dvoma prepared výrokov?

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

Kontroloval som veľa kurzov o pripravených vyhláseniachale jediný, čo som pochopil, je druhá cesta, pretože by mohla byť napísaná procedurálne, nie je to isté ako CHOP, keďže obe sú pripravené vyhlásenia? Existuje nejaký rozdiel v rýchlosti alebo jednoduché použitie medzi nimi? druhá cesta, pretože som myslel PreparedStatment = CHOP, ale bol som šokovaný, keď som vedel, že to nie je CHOP,

mysqli_prepare
mysqli_stmt_bind_param
mysqli_stmt_execute
mysqli_stmt_bind_result

odpovede:

4 pre odpoveď č. 1

Rozdiel je nižšie: -

  1. Mysqli je len pre databázu MySQL. PDO podporuje inú databázu pomocou rovnakých funkcií.
  2. Mysqli môže byť použitý buď v objektovo orientovanom štýle, alebo v procedurálnom štýle. CHOP je vždy objektovo orientované.
  3. Mysqli podporuje pripravené vyhlásenia s "?" zástupné symboly pre parametre. CHOP podporuje obidve "?" zástupné symboly a tiež menované zástupné symboly, napríklad ": columnName".
  4. Mysqli vyžaduje, aby ste použili funkciu na viazanie každej hodnoty parametra na pripravené vyhlásenie. PDO tiež umožňuje jednoducho preniesť pole hodnôt parametrov pri vykonávaní pripraveného príkazu.