bind_param: 준비된 문의 변수와 매개변수 간 불일치
코드 조각에서 오류가 발생했습니다. "변수 개수가 숫자와 일치하지 않습니다. 준비된 문의 매개변수입니다." 이는 bin_param() 함수의 변수와 준비된 문의 자리 표시자(?)가 일치하지 않음을 나타냅니다.
이 문제를 해결하려면 준비된 문이 모든 변수를 물음표로 정확하게 대체하는지 확인하세요. 아래 수정된 코드에서 볼 수 있듯이 물음표 주위의 따옴표를 제거합니다.
$stmt = $mysqli->prepare(" SELECT DISTINCT model FROM vehicle_types WHERE year = ? AND make = ? ORDER by model "); $stmt->bind_param('is', $year, $make); $stmt->execute();
물음표 수는 항상 바인딩_param()에 전달된 변수 수와 일치해야 합니다. 원래 코드에는 두 개의 변수($year, $make)가 있었지만 준비된 명령문에는 물음표가 하나만 있어 오류가 발생했습니다.
또한 변수의 데이터 유형이 데이터와 일치하는지 확인하세요. 데이터베이스 열의 유형. 예를 들어 데이터베이스의 연도 열이 정수인 경우 바인딩하기 전에 $year를 정수로 캐스팅해야 합니다.
위 내용은 준비된 명령문에서 변수와 매개변수 간의 불일치를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!