Come dice il titolo, perché MySQLi usa i punti interrogativi invece della formattazione sprintf() ? Ad esempio, perché è
$stmt = $mysqli->prepare("SELECT * FROM table WHERE column1 = ?");
$stmt->bind_param('s', $var);
invece di
$stmt = $mysqli->prepare("SELECT * FROM table WHERE column1 = %s", $var);
Ci sono state alcune complicazioni con l'utilizzo della formattazione sprintf o c'erano rischi associati alla sicurezza? Inoltre, se fosse necessario avere un punto interrogativo nell'istruzione SQL, c'è un modo per evitarlo (in sprintf() , si farebbe solo %% invece di % )?