쿼리 실행

일반 쿼리

쿼리를 실행하기 위해서, 일반 쿼리문을 사용합니다

$this->qb->exec('YOUR QUERY HERE');

exec() 함수는 데이터를 읽어오는 쿼리 실행시 결과(result) 객체를 리턴합니다. 이 결과 객체는 쿼리 결과를 생성할 때 사용됩니다. 데이터를 쓰거나, 업데이트 하는 쿼리를 실행하면 그 성공여부에 따라서 TRUE나 FALSE를 리턴합니다. 쿼리 실행후 결과값을 가져오려면 아래와 같이 쿼리함수를 특정 변수에 할당합니다

$query = $this->qb->exec('YOUR QUERY HERE');

쿼리 바인딩

바인딩 쿼리를 좀 더 간단하게 해줍니다.

$sql = $this->qb->queryBind("SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?", [3, 'live', 'Rick']);
$this->qb->exec($sql);

쿼리안에 있는 물음표는 자동으로 두 번째 파라미터로 전달되는 배열의 값으로 치환됩니다.

바인딩은 IN을 사용하여 조회할 때 유용합니다. IN set 안에 들어갈 요소를 배열로 전달합니다.

$sql = $this->qb->queryBind("SELECT * FROM some_table WHERE id IN ? AND status = ? AND author = ?", [[3, 6], 'live', 'Rick']);
$this->qb->exec($sql);

결과 쿼리는 다음과 같습니다

SELECT * FROM some_table WHERE id IN (3,6) AND status = 'live' AND author = 'Rick'

쿼리 실행 정보

$this->qb->getInsertId()

데이터베이스에 레코드를 삽입(insert)할 때 아이디번호(Primary auto_increment 지정시)

$this->qb->lastQuery()

마지막으로 사용한 쿼리 문자열을 리턴합니다(쿼리 실행결과가 아닙니다).

$str = $this->qb->lastQuery();
echo $str;

// echo 결과 : SELECT * FROM some_table WHERE id IN (3,6) AND status = 'live' AND author = 'Rick'