>데이터 베이스 >MySQL 튜토리얼 >MySQL INSERT 문에서 \'열 개수가 행 1의 값 개수와 일치하지 않습니다\' 오류가 발생하는 이유는 무엇입니까?

MySQL INSERT 문에서 \'열 개수가 행 1의 값 개수와 일치하지 않습니다\' 오류가 발생하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-01 00:19:11801검색

Why am I getting a

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.