2009-10-20 5 views
3

반환 :

$mysql = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die('There was a problem connecting to the database'); 
$stmt = $mysql->prepare('SELECT id,vcref,jobtitle,jobtype,jobintro,closingdate FROM jobs WHERE active = 1'); 
$stmt->execute(); 
$stmt->store_result; 
$stmt->bind_result($id,$vcref,$jobtitle,$jobtype,$jobintro,$closingdate); 
$stmt->fetch(); 
$totalLiveJobs = $stmt->num_rows(); 

출력은 '일관되게 0

+2

DB에서 직접 실행하면 얼마나 되나요? – Ismael

+0

쿼리 기준과 일치하는 2 개의 행이 있다는 것을 알고 있습니다 - 그것은 사상가입니다. 입력 m8을위한 –

답변

8

당신에게있다 OOP 스타일에서 mysql_stmt_num_rows을 사용하므로 함수로 호출하는 것은 올바르지 않습니다. 보십시오 : 대신

$stmt->num_rows; 

: 또한

class mysqli_stmt { 

    int num_rows 

} 

,

$stmt->store_result; 

은 다음과 같아야합니다 : 기본적으로

$stmt->num_rows(); 

를,이 값을 얻기 위해 노력하고

$stmt->store_result(); 
+0

thx - 아직 OOP 스타일에 익숙해졌습니다. 나는 이미 그랬다고 생각했습니다. 코드의 마지막 줄에? 변수에 값을 할당하려고합니까? –

+0

아니요, $ stmt-> num_rows()는 $ stmt의 존재하지 않는 메소드를 호출하는 반면 $ stmt-> num_rows는 해당 속성 (값이 있음)을 참조합니다. http://phpbuilder.com/manual/en/function.mysqli-stmt-num-rows.php – karim79

+0

Thx Karim - 이제는 (링크에 대한 추가 명성) 이해합니다. 그것은 잘 작동하고있어 - 다시 thx 다시 메이트 :) –

관련 문제