Mam kwerendy mysql, ale nie może wiązać param bojak powiązać wiele parametrów do MySQLi zapytania
SELECT users.email,users.handle,userprofile.mobile FROM users,userprofile WHERE users.email =? OR users.handle =? OR userprofile.mobile=?
Próbowałem poniżej linii
$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 '......';
}
}
ale mam otrzymane i błąd:
Ostrzeżenie: mysqli_stmt :: bind_param(): Liczba elementów w definicji typu ciąg nie pasuje do liczby zmiennych powiązań
Możesz opublikować cały kod zapytań wraz z pełną przygotować nie tylko instrukcja SQL – Dave
Właściwie po prostu wyrecytowałem twoje używanie bindParam jego faktycznie $ stmt-> bind_param(), gdy podajesz wiele parametrów w taki sam, jak twój przykład – Dave
"sss" oznacza, że 3 zmienne, które chce związać są wszystkie ciągi znaków i on przekazuje wszystkie 3 zmienne naraz, więc musi użyć bind_param, a nie bindparam. Powinien używać go tylko bez _, jeśli będzie wiązał każde wejście indywidualnie, jak w poniższym przykładzie. – Dave