Qual è l'importanza di utilizzare:PHP ::: istruzioni preparate ::: freeresult() ::: close()
$stmt->free_result();
$stmt->close();
Dopo una chiamata al database utilizzando statments preparati in questo modo:
$mysqli=new mysqli("database", "db", "pass", "user");
$stmt = $mysqli->prepare("SELECT email FROM users WHERE id=? ");
$stmt->bind_param('i',$_SESSION['id']);
$stmt->execute();
$stmt->bind_result($email);
while($stmt->fetch()){
echo $email;
}
$stmt->free_result(); //why do i need this?
$stmt->close(); //why do i need this?
Mi sto chiedendo perché non vedo alcun degrado delle prestazioni apprezzabile senza di loro. Sono quei comandi di solito utilizzati solo per quando devo conservare il risultato usando:
$stmt->store_result();
Ti piace questa:
$mysqli=new mysqli("database", "db", "pass", "user");
$stmt = $mysqli->prepare("SELECT email FROM users WHERE id=? ");
$stmt->bind_param('i',$_SESSION['id']);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($email);
while($stmt->fetch()){
echo $email;
}
$stmt->free_result(); //why do i need this?
$stmt->close(); //why do i need this?
In definitiva la questione si riduce a quando è il momento opportuno per utilizzare freeresult() e chiudere ()?
No, non dice nulla al database – zerkms
Così posso usare freeresult() alla fine di qualsiasi dichiarazione che non ho bisogno di storeresult() per? –
@Dan Kanze: finché non si verificano problemi - non farlo, non sprecare cicli di CPU per niente – zerkms