메일 시스템을 구축 중이며 지금까지 훌륭했습니다. 그러나 나는 "우편물 삭제"부분에 붙어있다.업데이트 쿼리 후 문이 작동하지 않는 경우
내 데이터베이스에는 true 또는 false로 응답하는 2 개의 열 (recdel 및 senddel)이 있습니다. 사용자가 "삭제"를 누를 때마다 보낸 사람이나받는 사람을 기준으로 열을 true로 업데이트하고 올바른 사람의받은 편지함에서 숨 깁니다. 받는 사람과 보낸 사람이 모두 삭제를 누르면 데이터베이스에서 제거하고 싶습니다. 양 당사자가 삭제 한 경우를 대비하여 필요하지 않습니다.
문제는 양 당사자가 삭제를 눌렀을 때 나타납니다. 당사자 중 하나가 다시 데이터베이스에서 삭제되도록 삭제를 눌러야합니다 (테스트 목적으로 은폐 부분이 제거됨).
문제는 if 문과 같고 두 번째 열이 true가 될 때까지 업데이트 쿼리 후 세 번째 if 문으로 이동하지 않으며 세 번째 if 문을 누를 때 세 번째 if 문으로 이동합니다.
나는 또한 첫 번째 if 문 2 개 안에 세 번째 if 문을 넣으려고했지만 여전히 같은 문제가 있습니다.
의견이 있으십니까?
if(person == sender) {
$query = 'UPDATE `email` SET `senddel`="true" WHERE `id`='.$id.'';
}
if(person == recipent) {
$query = 'UPDATE `email` SET `recdel`="true" WHERE `id`='.$id.'';
}
if(recdel == 'true' && senddel == 'true'){
delfromdb
}
실제 코드는 무엇입니까? 'recdel'은 쿼리의 리턴으로 정의됩니까? 해당 쿼리의 상태를 확인합니까? – chris85
'사람 == 보낸 사람'? 그것들은 변수가 아닙니다. 그것들은 정의되지 않은 상수입니다. PHP는 정중하게 자동 변수화 할 것이고, 또한 정의되지 않은 변수이기 때문에'null == null'을 수행하는 것일 가능성이 큽니다. –
하나의 접근법은 'recdel' 또는'senddel' 열 중 하나가 업데이트 될 때마다 삭제 동작을 시도하는 것입니다. 예를 들어,''\ '이메일 \'어디에서 \'recdel \'및 \'senddel \ '및 \'id \ '=에서 DELETE? ' – spencer7593