Tôi có một truy vấn mysql, nhưng tôi không thể ràng buộc param cho nócách để ràng buộc nhiều tham số để MySQLi truy vấn
SELECT users.email,users.handle,userprofile.mobile FROM users,userprofile WHERE users.email =? OR users.handle =? OR userprofile.mobile=?
Tôi đã thử bên dưới dòng
$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 '......';
}
}
nhưng tôi đã đã nhận và lỗi:
Cảnh báo: mysqli_stmt :: bind_param(): Số lượng thành phần trong loại Chuỗi định nghĩa không khớp với số biến liên kết
Bạn có thể gửi toàn bộ mã truy vấn của bạn bao gồm đầy đủ chuẩn bị không chỉ là tuyên bố sql – Dave
Trên thực tế chỉ cần relased của bạn bằng cách sử dụng bindParam của nó thực sự $ stmt-> bind_param() khi bạn đang đi qua nhiều tham số giống như ví dụ của bạn – Dave
"sss" có nghĩa là 3 biến ông muốn ràng buộc là tất cả các chuỗi và anh ấy vượt qua tất cả 3 biến trong cùng một lúc vì vậy anh ta cần phải sử dụng bind_param không bindparam. Anh ta chỉ nên sử dụng nó mà không có _ nếu anh ta sẽ ràng buộc từng đầu vào riêng lẻ như trong ví dụ dưới đây. – Dave