2012-11-22 1 views
2

데이터가 없으면 mysqli_query()이 true를 반환하고 데이터가있는 경우 mysqli_result 개체를 반환합니다 (즉, 쿼리가 SELECT, SHOW, DESCRIBE 또는 EXPLAIN).PHP에서 pg_query()가 데이터를 반환하는 쿼리인지 확인하는 방법은 무엇입니까?

그러나 성공한 경우 pg_query()은 언제든지 데이터가 반환되는지 여부에 관계없이 항상 samething (쿼리 결과 리소스)을 반환합니다. 내가 mysqli_query()로 할 수있는 것처럼 쿼리 중 하나 SELECT, SHOW, DESCRIBE 또는 EXPLAIN 인 경우

나는 결정하기 위해 pg_query() 반환 값을 사용할 수 있습니까?

+0

아마도'pg_num_rows()'일까요? (소리가 잘 들린다) –

+0

왜 실행 된 쿼리의 종류를 알아야합니까? 결과 핸들을받는 코드 부분에 해당 정보를 제공 할 수 있어야합니다. – didierc

답변

3

pg 확장 기능에서 '선택'과 '삽입/업데이트'를 확인하는 완전한 증거가 없습니다. 두 개의 함수를 사용할 수는 있지만 일부 행이 반환되거나 SQL의 영향을받는 경우에만 작동합니다.

// update/insert/delete sql and affect some row 
pg_num_rows($res); // 0 
pg_affected_rows($res); // n 

// select return some result 
pg_num_rows($res); // n 
pg_affected_rows($res); // 0 
+0

Pg를 사용하면 INSERT ... RETURNING *을 수행하면 삽입 된 행을 반환합니다. – greg

관련 문제