2014-03-12 8 views
-1

제목이 모호하면 미안합니다. 현재, 나는 단지 쿼리를 실행하고 데이터베이스의 모든 데이터를 표시하는 PHP의 간단한 작업을 수행하려고하지만 데이터를 표시하는 페이지는 완전히 비어 있지 않습니다.데이터가 PDO 및 MySQL에서 표시되지 않음

<?php 
$username = "user"; 
$password = "pass"; 

try { 
    $conn = new PDO('mysql:host=localhost;dbname=database', $username, $password); 
    $stmt = $conn->prepare('SELECT * FROM contacts'); 
    $stmt->execute(array('id' => $id)); 

    $result = $stmt->fetchAll(PDO::FETCH_ASSOC); 

    if (count($result)) { 
    foreach ($result as $query_row) 
     { 
     extract($query_row); 


     echo '<tr>'; 
     echo '<td>'.$fname.'</td>'; 
     echo '<td>'.$lname.'</td>'; 
     echo '<td>'.$title.'</td>'; 
     echo '<td>'.$deparment.'</td>'; 
     echo '<td><a href="mailto:'.$email.'">'.$email.'</a></td>'; 
     echo '<td>'.$cell.'</td>'; 
     echo '<td>'.$handle.'</td>'; 
     echo '<td>'.$steam.'</td>'; 
     echo '<td>'.$skype.'</td>'; 
     echo '</tr>'; 
     } 
    } 
    } else { 
    echo "No rows returned."; 
    } 
} catch(PDOException $e) { 
    echo 'ERROR: ' . $e->getMessage(); 
} 
?> 

내가 그것을 파악을 얻으려고 다른 SO 질문에 읽기/가이드를 다음 봤는데 그래서 전에 내가 PDO 함께 일한 적이 : 여기

는 코드입니다.

$stmt->execute(array('id' => $id)); 

하는 I가 좋은 것 설명을 얻을 수 있다면 나는 그 선이 무엇을하고 있는지 이해하지 않습니다 내가 망쳐 할 수있다 생각 한 줄이 라인입니다. 나는 나머지 코드의 논리를 이해한다고 생각한다.

+2

'error_reporting' 및'display_error'가 켜져 있습니까? 나는 오류가 발생했다고 의심하지만 숨겨지고있다. 빈 페이지/흰색 페이지. 또한 당신의 select 질의는'where' 절이 없습니다. – Latheesan

+1

당신은 PDO에게 예외를 던지라고 말할 필요가있다. 그리고 문제가 무엇인지 알 필요가있다. (예를 들어 바운드 변수가 없다.)'$ conn = new PDO ('mysql : host = localhost; dbname = database', $ username, $ password, array (PDO :: ATTR_ERRMODE => PDO :: ERRMODE_EXCEPTION); ' – jeroen

+0

'$ stmt-> execute (array ('id '=> $ id));'는 준비된 명령문을 실행 중이다. 전달 된 배열은 매개 변수 대체에 사용되지만 쿼리에는 매개 변수가 없으므로 의미가 없으므로 오류가 발생합니다. 그냥'$ stmt-> execute()'로 변경하십시오. –

답변

1

이렇게하면 내 서버에서 작동하는 문제가 해결됩니다.

플러스을 추가하면 <table></table> 태그가 추가되어 각각의 위치에 배치됩니다.

<?php 
$username = "user"; 
$password = "pass"; 

try { 

    // uncomment for testing purposes as noted by jeroen 
    // $conn = new PDO('mysql:host=localhost;dbname=database', $username, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 

    $conn = new PDO('mysql:host=localhost;dbname=database', $username, $password); 
    $stmt = $conn->prepare('SELECT * FROM contacts'); 
    $stmt->execute(array('id' => $id)); 

    // $stmt->execute(); // as noted by Mike Brant 

} 

catch(PDOException $e) { 
    echo 'ERROR: ' . $e->getMessage(); 
} 

    $result = $stmt->fetchAll(PDO::FETCH_ASSOC); 

echo "<table>"; 

    if (count($result)) { 
    foreach ($result as $query_row) 
     { 
     extract($query_row); 

    echo '<tr>'; 
    echo '<td>'.$fname.'</td>'; 
    echo '<td>'.$lname.'</td>'; 
    echo '<td>'.$title.'</td>'; 
    echo '<td>'.$deparment.'</td>'; 
    echo '<td><a href="mailto:'.$email.'">'.$email.'</a></td>'; 
    echo '<td>'.$cell.'</td>'; 
    echo '<td>'.$handle.'</td>'; 
    echo '<td>'.$steam.'</td>'; 
    echo '<td>'.$skype.'</td>'; 
    echo '</tr>'; 
     } 
    } 
echo "</table>"; 

?> 
+0

Downvoter, 설명해 주시겠습니까? 나에게 계몽 ;-) 아무런 설명이없는 하향 투표는 아무에게도 도움이되지 않습니다. –

관련 문제