2013-03-10 3 views
0

POP PHP 프레임 워크 (http://www.popphp.org/)를 사용하고 있습니다. 전자 메일 주소가 이미 있는지 또는 데이터베이스에 없는지 확인하기 위해 준비된 문을 작성하려고합니다.POP와 같은 준비된 구문 PHP 프레임 워크

설명서를 통해 파고 데이터베이스 문자열의 결과를 숫자와 비교하는 방법에 대한 예제를 찾을 수 없습니다. 그렇게하려면 다음과 같이 열심히하지 마십시오.

$sql->select()->where()->greaterThanOrEqualTo('id', '?'); 

그러나 이메일 주소가 존재하는지 여부와 비교해 볼 때 솔루션을 찾을 수 없습니다. 아래는 나의 불완전한 코드입니다. 6 번 줄은 비교를하려고하는 곳입니다. 지원되지 않기 때문에 오류가 발생하지 않습니다. 메일 주소가 데이터베이스에 있으므로 아무 문제가 없습니다.

// Check if user already exists 
$db = Db::factory($this->type, $this->creds); 

// Create a prepared statement 
$sql = new Sql($db, 'user'); 
$sql->select()->where()->like('email', '?'); 

// Prepare the statement, bind the parameters and execute 
$db->adapter()->prepare('email', '?'); 
$db->adapter()->bindParams(array('email' => $post['email'])); 
$db->adapter()->execute(); 


print_r($db->adapter()->fetch()); 


if($db->adapter()->fetch() != false) 
{ 
    $error['userExists'] = "User exists"; 
    echo "Exists"; 
} 

이 코드를 완성하려면 어떻게해야합니까?

답변

0

나는 POPPHP를 모르겠지만 API 검사에, : 예컨대, Pop\Db\Sql\Predicate::equalTo($column, $value, $combine)입니다 올바른 방향으로 날을 착용하는

$sql->select()->where()->equalTo('email', '?'); 
+0

감사합니다 당신을 위해 무엇을 찾고있는 것 같다. 올바른 코드는 다음과 같습니다 : \t \t \t'// 이미 사용자가 있는지 확인하십시오. \t \t \t $ db = Db :: factory ($ this-> type, $ this-> creds); \t \t \t \t \t \t // 준비된 문장을 \t \t \t $의 SQL = 새로운 SQL ($ DB를, '사용자')을 만들기; \t \t \t $ sql-> select() -> 여기서() -> equalTo ('email', '?'); \t \t \t \t \t \t echo $ sql. '
'. PHP_EOL; \t \t \t \t \t \t \t \t \t \t \t \t \t \t //> 어댑터() 문을 준비 매개 변수를 바인딩하고 \t \t \t $ DB-을 실행 -> ($의 SQL을) 준비; \t \t \t $ db-> adapter() -> bindParams (array ('email'=> $ post [ 'email']))); \t \t \t $ db-> adapter() -> execute();' – Robert