2013-07-20 2 views
0

지금 당분간 PDO를 사용 해왔지만 오류가 너무 많거나 충분하지 않은지 궁금합니다. 이 내 물건은 일반적으로 모습입니다 : 물론PHP PDO 워크 플로우

$STH = $DBH->prepare("SELECT something FROM table WHERE field=:field AND field2=:field2"); 
$STH->bindParam(":field",$field); 
$STH->bindParam(":field2",$field2); 
if($STH->execute()){ 
    if($STH->rowCount() == 1){ 
     echo "This is what is returned"; 
    }else{ 
     echo "Something went wrong."; 
    } 
}else{ 
    echo "Something went wrong."; 
} 

$STH->rowCount() -check은 내가 기대하고있는 무슨에 따라 달라집니다. 예를 들어 사용자가 로그인하면 해당 사용자 이름으로 하나의 결과 만 찾을 수 있습니다. 물론 이것은 이미 데이터베이스에서 확인되었지만, 다시 여기에서 다시 확인합니다. 이게 필요한가?

if(STH->execute()) -check 정말 필요한지 잘 모르겠습니다. 모범 사례는 무엇입니까?

답변

1

문서 'http://php.net/pdostatement.rowcount'에 따르면 rowcount을 SELECT 문과 함께 사용하는 것은 좋지 않은 방법입니다. 많은 데이터베이스가 SELECT 문의 영향을받는 행 수를 반환 할 수 없기 때문입니다. 사용자 확인을 위해서는 다음을 사용하는 것이 더 좋습니다.

Select count (*) ..... 및 PDOStatement : execute + PDOStatement : fetchColumn. 또한 마음에

유지 (STH-> 실행()는 단지 쿼리가 오류없이 실행되는 것을 말한다 아무것도 확인하지 않습니다.

관련 문제