2014-07-09 2 views
0

OOP에 새로운 기능이 있습니다. 데이터베이스에 mysqli 클래스 래퍼가 있습니다. 래퍼에없는 메서드가 있고 내 쿼리에서이를 사용하고 싶습니다. 클래스에 추가하는 방법을 모르겠습니다.PHP 클래스에 메소드 추가하기

내 클래스 내가 select 문의 행의 수를 계산 할 필요가 여기 https://bitbucket.org/getvivekv/php-mysqli-class/src/f72d10285e9327681109871dccd99e23891bfde9/class.database.php?at=master

입니다.

1)이 확인 : 여기

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result. 

어떤 도움이

+0

$ sel에 쿼리 결과 집합이로드되어 있지 않습니다. 거기에 문제가 있습니다. Print_r ($ sel)을 사용하여 포함 된 내용을 확인하고 쿼리 및 코드를 수정할 수 있습니다. – Rimble

답변

2

두 가지 제발 내가이 경고를

$where = array(
    'staff_id' => 'Input::get("staff_id")', 
    'role' => 'Input::get("role")' 
    ); 
$sel = $db->select()->from('staff_role')->where($where) ; 

$total = mysqli_num_rows($sel); 

if($total==0){ 

} 

을 무슨 일을하고있다 라인, 당신은 정말로 이러한 방법을 호출 할 때 따옴표가 필요합니까?

'staff_id' => 'Input::get("staff_id")', 
'role' => 'Input::get("role")' 

2) 당신은 클래스()하는 당신이 전화하지 않았다,이

$sel = $db->select()->from('staff_role')->where($where)->execute(); 

지금 당신이 결과 집합을 얻어야한다처럼해야하는 메소드가 실행이 래퍼. SQL 문에 문제가있는 경우 래퍼에서 오류가 발생합니다. 개수를 얻으려면

$db->affected_rows 

결과를 얻으려면 execute() 메소드 대신 query()를 사용하십시오.

+0

또한 execute 함수를 추가하는 것이 좋습니다. –

+0

난 그것을 추가 한 다음 어떻게 계산합니까? – dxcoder1

+0

이 (가) 편집되었습니다. $ db-> affected_rows를 사용하십시오. – thevikas

관련 문제