2012-01-07 5 views
1

안녕하세요. 제가 작성한 것에 무엇이 잘못되었는지 잘 모르겠습니다. 친구는 simular 코드를 가지고 있지만 내 것은 작동하지 않습니다. 도와 주셔서 감사합니다.

if (isset($_GET['postID'])) 
{ 
    $postID = $_GET['postID']; 
    $stmt = $mysqli->prepare("SELECT postTitle FROM Posts WHERE postID = ?"); 
    $stmt->bind_param('i', $postID); 
    $stmt->execute(); 
    $stmt->bind_result($postTitle); 
    echo $postTitle; 
} 

감사

+0

오! 정말 죄송 해요! 내 실수 .. 게시물을 읽다가 마음에 pdo있다 :(주석 삭제 .. – Nonym

답변

2

당신은 $stmt->fetch()하지 가져온 결과가 있습니다. 결과 열을 $postTitle으로 제한했지만 명령문 결과 세트에서 행을 반입하지 ​​않으면 값을 사용할 수 없습니다.

// First, don't forget to establish your connection 
$mysqli = new MySQLi($host, $user, $pass, $dbname); 

if (isset($_GET['postID'])) 
{ 
    $postID = $_GET['postID']; 
    $stmt = $mysqli->prepare("SELECT postTitle FROM Posts WHERE postID = ?"); 
    $stmt->bind_param('i', $postID); 
    $stmt->execute(); 
    $stmt->bind_result($postTitle); 

    // Use a while loop if multiple rows are expected, 
    // Otherwise, a single call to $stmt->fetch() will do. 
    while ($stmt->fetch()) { 
    echo $postTitle; 
    } 
} 
+0

슬프게도 여전히 그 didnt 작업에 오류가 나타납니다 치명적인 오류 :/Users/user/Sites의 비 객체에서 member 함수 prepare()를 호출하십시오. /hp/post.php 29 행 –

+0

29 번 줄은 $ stmt = $ mysqli-> prepare ("post post where WHERE postID =?"); –

+0

당신의 연결 $ mysqli가 성공적으로 생성되지 않았다는 것을 의미합니다. –

관련 문제