Ho una domanda mysql, ma non riesco a legare param per essocome associare più parametri a richiesta MySQLi
SELECT users.email,users.handle,userprofile.mobile FROM users,userprofile WHERE users.email =? OR users.handle =? OR userprofile.mobile=?
ho provato sotto la linea
$query = "SELECT users.email,users.handle,userprofile.mobile FROM users,userprofile WHERE users.email =? OR users.handle =? OR userprofile.mobile=?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("sss",$email,$username,$mobile);
if ($stmt->execute()) {
if($stmt->num_rows){
echo '......';
}
}
ma non ho ricevuto e di errore:
Attenzione: mysqli_stmt :: bind_param(): numero di elementi in tipo stringa di definizione non corrisponde al numero di variabili di bind
potete inserire il vostro intero codice di query compreso il pieno di preparare non solo la dichiarazione di sql – Dave
realtà solo relased vostro usando BindParam la sua realtà $ stmt-> bind_param() quando si sta passando più parametri a come il vostro esempio – Dave
"sss" significa che le 3 variabili che vuole legare sono tutte stringhe e passa tutte e 3 le variabili contemporaneamente, quindi ha bisogno di usare bind_param non bindparam. Dovrebbe solo usarlo senza _ se sta vincolando ogni input singolarmente come nell'esempio qui sotto. – Dave