Ho usato a lungo mysql_query() per fare le mie cose ma ora sto passando alle istruzioni preparate per due motivi:
prestazioni e nessuna sql injection possibilitàPHP: istruzioni preparate (newbie), è sufficiente confermare l'iniezione SQL
Questo è come mi sto usando:
function add_new_user($e_mail1,$username,$pass)
{
require_once "db.php";
$stmt = $mysqli->prepare("INSERT INTO un_users VALUES ('',?, ?,0,0,?,0)");
$stmt->bind_param('sss', $e_mail1, $username,$pass);
$stmt->execute();
$stmt->close();
}
non sto sanificazione delle tre variabili ($e_mail1,$username,$pass)
quando li ho passati alla funzione o qualsiasi altra cosa.
Sto facendo il modo corretto o ho sbagliato da qualche parte o ho bisogno di fare qualcos'altro? Sono un principiante con questo (ancora esaminando i documenti) quindi sentiti libero di farti una doccia di conoscenza: D
Grazie!
Sembra corretto, ma si potrebbe ancora voler disinfettare l'input un po '... – tplaner
Le dichiarazioni preparate si prenderanno cura dell'igienizzazione per te. Intendiamoci, non impediscono ai dati BAD di entrare nel db ... solo che i dati che stai utilizzando non "interromperanno" la query, quindi causano un errore di sintassi o sovvertono lo scopo della query. –
@evolve Cosa intendi con questo? – alex