PHP 및 MySQL에서 "열 개수가 행 1의 값 개수와 일치하지 않습니다" 오류 수정
PHP를 사용하는 MySQL 데이터베이스에서는 다음 오류가 발생할 수 있습니다.
Column count doesn't match value count at row 1
이 오류는 INSERT 쿼리에 제공된 값 수가 대상 테이블에 정의된 열 수와 일치하지 않을 때 발생합니다.
원인 이해
예제 코드에서는 INSERT 쿼리에 9개의 열을 지정했습니다.
INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username)
그러나 8개의 값만 제공하고 있습니다. :
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($image), mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));
결과적으로 MySQL은 지정된 열에 제공된 값의 수를 일치시킬 수 없어 오류가 발생합니다.
해결책: 값 개수가 열과 일치하는지 확인 개수
문제를 해결하려면 쿼리의 값 개수가 대상 테이블의 열 개수와 일치하는지 확인해야 합니다. 이 경우 메소드 값 제공을 놓쳤습니다.
누락된 값을 포함하도록 코드를 수정하세요.
$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));
올바른 개수의 값을 제공하면 성공적으로 수행할 수 있습니다. 열 개수 불일치 오류가 발생하지 않고 MySQL 데이터베이스에 데이터를 삽입합니다.
위 내용은 PHP 및 MySQL 코드에서 \'열 개수가 행 1의 값 개수와 일치하지 않습니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!