2016-12-31 1 views
0

enter image description here 두 개의 새로운 필드를 테이블에 추가했습니다. SQL insert into은 두 개의 이전 필드에 대해 계속 작동하지만 두 개의 새 필드에 대한 데이터를 삽입하지 못합니다. 두 개의 새 필드는 $authorflag$artistflag입니다. 이 두 필드는 boolean 개의 변수로되어 있습니다.Prepare 문이 4 개의 변수 중 2 개를 삽입하지 못함

이 변수를 integer에서 string으로 변경하고, 위치를 변경하고, 테이블을 다시 만들어 네 개의 필드가 모두 새 것이되도록 실험했습니다. 이러한 조정 사항에도 불구하고 실제로 두 개의 오래된 변수 만 테이블에 삽입됩니다. 새로운 변수는 null으로 나타납니다.

$authorflag='NNNNNNNN'; 
$artistflag=0; 
login(); 
$stmt=$conn->prepare('INSERT INTO tblAuthorList (AuthorLast,AuthorFirst,AuthorFlag,ArtistFlag) Values(?,?,?,?)'); 
$stmt->bind_param('sssi', $lastname,$firstname,$authorflag,$artistflag); 
$stmt->execute(); 
+0

'$ stmt-> execute();)'

+0

새 스크립트를 서버에 업로드 했습니까? 실행 중인지 확인하기 위해'echo' 문을 추가하십시오. – Barmar

+0

$ authorflag가 boolean이라고 가정하면 왜 NNNNN을 변수 값으로 설정합니까? 그리고 그 필드는 부울로 정의되어 있습니까? 타이니트? 뭐? – junkfoodjunkie

답변

0

문제가 해결되었습니다. 코드가 정확했다. 문제는 우연히 두 가지 형식을 교차 연결하는 것이 었습니다. 프로덕션 용 데이터베이스와 테스트 용 데이터베이스의 두 가지 버전이 있습니다. 나는 두개의 테이블을 하나의 (두 버전 모두) 하나로 결합 시켰으며, 관련된 양식을 그에 따라 수정했다.

의견을 보내 주셔서 감사합니다. 다른 사람들의 생각을 얻는 것은 매우 유용합니다. 새해 복 많이 받으세요.

$authorflag=1; 
$artistflag=0; 
login(); 
$stmt=$conn->prepare('INSERT INTO tblAuthorList (AuthorLast,AuthorFirst,AuthorFlag,ArtistFlag) Values(?,?,?,?)'); 
$stmt->bind_param('ssii', $lastname,$firstname,$authorflag,$artistflag); 
$stmt->execute(); 
관련 문제