2011-11-17 2 views
1

내가 원하는 것은 subjects table의 모든 행을 반향시키는 것입니다.준비 문 : 함수 출력 없음

P. 최근에 Xdebug가 설치되었으므로 PHP는 오류를 기록하지만이 경우에는 오류 로그에 오류가 없습니다.

내 기능은 다음과 같습니다. 아무것도 출력하지 않습니다.

function genSubjectsList() { 
    global $db; 
    $stmt = $db->prepare("SELECT `id`, `subject` FROM `subjects`") or die($db->error); 
    $row = array(); 
    stmt_bind_assoc($stmt, $row); 
    while ($stmt->fetch()) { 
     echo "<input type='checkbox' value='" . $row[0] . "' name='subjects' id='subjects'/>" . $row[1] . "\n"; 
    } 
    $stmt->close(); 
} 

이 func에는 어떤 문제가 있습니까?

+0

PHP.net에서'stmt_bind_assoc'에 대한 참조를 찾을 수 없으며, 내 IDE가 그 중 하나를 선택하지 않습니다. 당신이 작성한 커스텀 함수입니까?. 어떤 DB 인터페이스를 사용하고 있습니까? PDO, mysqli, mysql? –

+0

preapred 문 – heron

답변

0

은이 (테스트되지 않은, PHP.net에서 수집) 시도 : 당신이 필요로하는 모든입니다

function genSubjectsList() 
{ 
    global $db; 
    $row = array(); 

    $stmt = $db->prepare("SELECT `id`, `subject` FROM `subjects`") or die($db->error); 
    $stmt->execute();   
    $stmt->bind_result($row); 

    while ($stmt->fetch()) { 
     echo "<input type='checkbox' value='" . $row[0] . "' name='subjects' id='subjects'/>" . $row[1] . "\n"; 
    } 

    $stmt->close(); 
} 
0

. 테스트 됨

function genSubjectsList() { 
    global $db; 


    $stmt = $db->prepare("SELECT `id`, `subject` FROM `subjects`") or die($db->error); 

    $stmt->execute() or die($stmt->error); 

    /* bind variables to prepared statement */ 
    $stmt->bind_result($id, $subject) or die($stmt->error); 

    /* fetch values */ 
    while ($stmt->fetch()) { 
     echo "<input type='checkbox' value='" . $id . "' name='subjects' id='subjects'/>" . $subject . "\n"; 
    } 

    /* close statement */ 
    $stmt->close(); 
}