2013-08-11 5 views
-1

기본적으로, 내가 원하는 것은 여분의 $ 결과 라인을 제거하고 하나의 IF 문으로 작성하는 것이다. PHP에서 객체 지향 쿼리를 사용하여이 작업을 수행 할 수 있습니까?객체 지향 mysql num_rows 쿼리 한 줄로

$result = $mysqli->query("SELECT id FROM users WHERE id ='".$user."'"); 
if ($result->num_rows == 1) { 
    // Continue... 
}else{ 
    // Does not exist, create... 
} 
+0

if ($ result) {...} 결과가 없으면 반환 값은 null 변수이며 if()에서 사용되면 false가됩니다. – KarelG

답변

2

먼저, 귀하의 의도를 비난합니다.
"한 줄에서 뭔가를하려면"("일부 구문 트릭 사용"을 의미 함) 은 방법이 아닙니다.

OOP는 코드를 단축하지만 요청하는 방식이 아닙니다. OOP를 사용하여이 코드를 단축하려면 다음과 같이 호출 할 메소드가있는 클래스를 만드는 것을 의미합니다.

if ($user->exists($user)) { 
    // Continue... 
}else{ 
    // Does not exist, create... 
} 

OOP의 작동 방식입니다.

exist() 메서드 내부에는 일반적인 여러 줄의 코드를 사용해야합니다. 또한,

function exists($id) 
{ 
    return (bool)$this->db-getOne("SELECT id FROM users WHERE id = ?i", $id); 
} 

날 당신이 완전히 쓸모가 mysqli를 렌더링하는 준비된 문을 사용하지 않는 점에 유의하자 : 그러나 차례에 database class을 사용하여도 그것을 줄일 수 있습니다.