2011-04-01 4 views
1

아래 기능에 대한 논리는 무엇이되어야합니까? 비어있는 경우 쿼리 필드

function check_empty($field){ 
    $this->_params(); 
    $db = $this->getDb(); 
    $milestone = $db->select() 
    ->from('milestone') 
    ->where("$field IN ('')") 
    ->where("name = ?", $this->milestone['name']); 

    $milestone_stmt = $db->query($milestone); 
    echo $milestone->__toString(); 
    $milestone_result = $milestone_stmt->fetchAll(); 

    if(count($milestone_result) > 0) { 
    return true; 
    } else { 
    return false; 
    } 
} 

는 필드가 비어 있는지 확인하는 데 사용되는 기능입니다. 필드가 원래 필드이고 양식에서 제거 된 내용으로 업데이트 된 경우 다른 함수는 양식 을 삽입해야하지만 삽입하지 않습니다. 그렇지 않은 경우는 false

+0

난 그냥 새로운입니다. 그래서 이유가 있습니다. 나는 또한 현장에있다. – Efox

+0

아니, 나는 당신이 6 가지 질문을했지만, 당신이 대답을 받아들이지 않았 음을 의미하지는 않습니다. 모든 답변의 왼쪽 상단에는'tick '아이콘이 있습니다. 귀하의 질문에 대한 정답이라고 생각하면 거기를 클릭하십시오. –

답변

1

는 모든 행과 일치 할 수없는 경우 쿼리는 true를 돌려줍니다 :

function check_empty($field) { 
    $this->_params(); 
    $db = $this->getDb(); 
    $milestone = $db->select() 
        ->from('milestone') 
        ->where("$field = ''") 
        ->where("name = ?", $this->milestone['name']); 
    $milestone_stmt = $db->query($milestone); 

    //No query results means the field is not empty. 
    return $milestone_stmt === false; 
} 
+0

null 또는 특수 문자가 아닌 결과가있을 가능성이 있습니까? – Efox

+0

@efox 그것은 진술이거나 거짓 일 것입니다. 'milestone_stmt === false' 표현은'$ milestone_stmt'이 false가 아니면'false'를 반환합니다 – chriso

관련 문제