PHP를 사용하여 MySQL 데이터베이스에 데이터를 삽입하려고 하면 다음 오류가 발생할 수 있습니다.
Column count doesn't match value count at row 1
이 오류는 테이블에 삽입하려는 값의 수가 해당 테이블에 정의된 열의 수와 일치하지 않을 때 발생합니다. table.
오류 이해
특정 사례에서 오류는 제공된 코드에 표시된 쿼리로 인해 발생할 가능성이 높습니다.
$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description), mysql_real_escape_string($shortDescription), mysql_real_escape_string($ingredients), mysql_real_escape_string($method), mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));
오류 해결
오류를 해결하려면 다음을 수행해야 합니다. 코드와 데이터베이스 정의를 검사하여 누락된 값을 식별합니다. 이 경우 INSERT에 9개의 컬럼을 선언한 것으로 보입니다. 설명:
단, 삽입되는 값은 8개 값만 차지합니다(이미지 열은 목록에 포함되지 않기 때문).
해결책
오류를 수정하려면 다음 중 하나를 추가하세요. 방법 열의 누락된 값을 수정하거나 삽입하려는 값의 수와 일치하도록 데이터베이스 정의를 수정하십시오. 첫 번째 옵션을 선택한 경우 다음과 같이 쿼리를 업데이트하세요.
$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description), mysql_real_escape_string($shortDescription), mysql_real_escape_string($ingredients), mysql_real_escape_string($method), mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));
위 내용은 내 PHP MySQL INSERT 쿼리에서 \'열 개수가 값 개수와 일치하지 않습니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!