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ď č. 1Rozdiel je nižšie: -
- Mysqli je len pre databázu MySQL. PDO podporuje inú databázu pomocou rovnakých funkcií.
- Mysqli môže byť použitý buď v objektovo orientovanom štýle, alebo v procedurálnom štýle. CHOP je vždy objektovo orientované.
- 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".
- 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.