MySQL을 사용하는 PHP 스크립트에서 다음과 같은 문제가 발생합니다. 준비된 문을 실행하고 "변수 수가 준비된 문의 매개변수 수와 일치하지 않습니다."라는 경고를 받는 동안 문제가 발생했습니다. 이는 준비된 문의 물음표 수가 바인딩_param() 메서드에 바인딩된 변수 수와 일치하지 않을 때 발생할 수 있습니다.
이 문제를 해결하려면 다음을 확인하세요. 준비된 문의 물음표 수는 바인딩_param()에 전달된 변수 수와 일치합니다. 수정된 코드 조각의 예는 다음과 같습니다.
<code class="php">$stmt = $mysqli->prepare("SELECT DISTINCT model FROM vehicle_types WHERE year = ? AND make = ? ORDER by model"); $stmt->bind_param('is', $year, $make); $stmt->execute();</code>
이 예에서 준비된 명령문에는 두 개의 물음표가 포함되어 있으며 bind_param() 메서드는 $year 및 $make라는 두 변수를 바인딩합니다. 'is'의 첫 번째 문자는 첫 번째 매개변수의 유형(정수)을 지정하고, 두 번째 문자는 두 번째 매개변수의 유형(문자열)을 지정합니다.
문을 준비할 때 모든 문자를 바꿔야 한다는 점을 기억하세요. 따옴표 없이 물음표만 있는 변수입니다. 따옴표 안의 물음표는 자리 표시자로 해석되지 않습니다.
위 내용은 준비된 명령문을 사용하여 MySQL에서 \'변수 수가 매개변수 수와 일치하지 않습니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!