제목이 모호하면 미안합니다. 현재, 나는 단지 쿼리를 실행하고 데이터베이스의 모든 데이터를 표시하는 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가 좋은 것 설명을 얻을 수 있다면 나는 그 선이 무엇을하고 있는지 이해하지 않습니다 내가 망쳐 할 수있다 생각 한 줄이 라인입니다. 나는 나머지 코드의 논리를 이해한다고 생각한다.
'error_reporting' 및'display_error'가 켜져 있습니까? 나는 오류가 발생했다고 의심하지만 숨겨지고있다. 빈 페이지/흰색 페이지. 또한 당신의 select 질의는'where' 절이 없습니다. – Latheesan
당신은 PDO에게 예외를 던지라고 말할 필요가있다. 그리고 문제가 무엇인지 알 필요가있다. (예를 들어 바운드 변수가 없다.)'$ conn = new PDO ('mysql : host = localhost; dbname = database', $ username, $ password, array (PDO :: ATTR_ERRMODE => PDO :: ERRMODE_EXCEPTION); ' – jeroen
'$ stmt-> execute (array ('id '=> $ id));'는 준비된 명령문을 실행 중이다. 전달 된 배열은 매개 변수 대체에 사용되지만 쿼리에는 매개 변수가 없으므로 의미가 없으므로 오류가 발생합니다. 그냥'$ stmt-> execute()'로 변경하십시오. –