2012-10-27 4 views
0

안드로이드에서 데이터베이스 mysql에 삽입 할 문제가 있습니다. 이 정보 학생 ID - 섹션 ID - 현재 날짜 - 상태 버튼을 클릭 할 때마다이 정보가 삽입됩니다. 데이터베이스 또한 레코드가 중복인지 확인합니다. 사용자에게 이미 입력했음을 알리는 메시지가 표시됩니다. 그러나 정확히 삽입되지 않으면 삽입 할 때마다 날짜가 변경 될 때마다 이 표시됩니다. 이미 삽입했음을 나타냅니다. 이 문제를 해결할 때마다 데이터베이스의 날짜를 변경할 때마다 삽입 할 수 있습니까?데이터베이스에 삽입 mysql이 올바르게 작동하지 않음

+0

a) 이스케이프 또는 유효성 검사없이 사용자 입력을 받아서 쿼리에서 직접 사용하고 있습니다. 이로 인해 데이터베이스가 SQL 주입 공격에 노출되어 있습니다. b) mysql_ * 함수 패밀리는 이름을 제외하고는 더 이상 사용되지 않으므로 피해야합니다. 대신 mysqli 또는 PDO를 사용하십시오. – GordonM

+0

왜 내가 한 번만 삽입하지 않는 날짜를 변경할 때 한 번 더 삽입 할 수 없습니다 – sara

답변

1

checki 만 사용 중입니다. 사용자가 필드에 대한 입력을 제공했는지 여부.
레코드를 삽입하기 전에 해당 레코드가 이미 데이터베이스에 있는지 여부를 확인하지 않습니다.
사용자가 새로 입력 한 데이터 중복으로 인해 정의 된 다음 삽입이 예외로 거부되는 경우 고유 제한 조건이 원인 일 수 있습니다.

데이터 고유성에 대해 제약 조건이 정의되어 있는지 확인하십시오.
예외를 처리하여 그에 따라 사용자에게 알립니다.

+0

데이터 고유성에 대해 제약 조건이 정의되어 있는지 확인하십시오. 어떻게 도와 드릴까요? – sara

+0

'show create table attends;를 실행하고 표시되는 내용을 확인하십시오. 우리에게도 똑같이 보여주십시오. –

+0

나는 나의 대답에 약간의 변화를 편집 할 수있다. 만약 다른 방법으로 당신이 창조를 보여줄 수 있다면 – sara

관련 문제