У меня есть запрос mysql, но я не могу привязать параметр для него
SELECT users.email,users.handle,userprofile.mobile FROM users,userprofile WHERE users.email =? OR users.handle =? OR userprofile.mobile=?
Я пробовал строку ниже
$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 '......'; } }
но я получил и ошибку:
Предупреждение: mysqli_stmt :: bind_param (): Число элементов в строке определения типа не совпадает с числом переменных привязки
Это правильный синтаксис для привязки params в mysqli
$SQL = "SELECT users.email, users.handle, userprofile.mobile FROM users,userprofile WHERE users.email =? OR users.handle =? OR userprofile.mobile=?"; if ($stmt = $mysqli->prepare($SQL)) { $stmt->bind_param("sss", $one,$two,$three); $stmt->execute(); //do stuff }
Попробуй это…
$stmt = $dbConn->prepare("SELECT users.email,users.handle,userprofile.mobile FROM users,userprofile WHERE users.email = ? OR users.handle = ? OR userprofile.mobile= ?"); $stmt->bind_param("sss", $email, $handle, $mobile); $stmt->execute();