집 >데이터 베이스 >MySQL 튜토리얼 >MySQL INSERT 문에서 \'열 개수가 행 1의 값 개수와 일치하지 않습니다\' 오류가 발생하는 이유는 무엇입니까?
PHP, MySQL 오류: 열 개수 불일치
"열 개수가 행 1의 값 개수와 일치하지 않습니다." 오류는 불일치를 나타냅니다. SQL INSERT 문에 지정된 열 수와 제공된 값 수 사이입니다.
이 특정 항목에서는 이 경우 다음 코드가 있습니다.
$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($image), mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));
SQL 문에는 id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded 및 Username의 9개 열이 포함되어 있습니다. 그러나 $name, $description, $shortDescription, $ingredients, $length, $dateAdded, $username 및 $method의 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));
위 내용은 MySQL INSERT 문에서 \'열 개수가 행 1의 값 개수와 일치하지 않습니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!