나는 PDO를 처음 접했고 여기서 다루고있는 문제에 대한 답을 찾을 수 없습니다.
나는 실행 할 수 있었다 foreach
아니오 테이블에 루프를 WHERE
절,하지만 비슷한 테이블에 복제 할 때 와WHERE
절은 데이터를 반환하지 않습니다!
작동하지 않는 코드는 다음과 같습니다. 난없이 실행하려고 ORDER BY
하고 LIMIT
행운 여전히 매개 변수! 안내해주세요.
<div class="table-responsive">
<table class="teachers_profile_table table table-bordered">
<thead>
<th style="width:20%">Student</th>
<th>Comment</th>
</thead>
<tbody>
<?php
$pdo = Database::connect();
<?php
$sql = "SELECT * FROM tbl_st_comments_abt_tut WHERE tut_id=?";
$q = $pdo->prepare($sql);
$q->execute(array($teacher_id));
$data = $q->fetch(PDO::FETCH_ASSOC);
foreach ($pdo2->query($sql) as $row) {
echo '<tr>';
echo '<td>'.$row['st_name'].$row['input_date'].'</td>';
echo '<td>'.$row['st_comment'].'</td>';
echo '</tr>';
}
Database::disconnect();
?>
</tbody>
</table>
</div>
다음은 db 테이블입니다. 테이블 이름 : tbl_st_comments_abt_tut id tut_id st_id st_name st_comment input_date (테스트 목적으로 테이블에 3 개의 행을 수동으로 입력했습니다).
이 줄로 무엇을 얻으려고하는지 잘 모르겠습니다. foreach ($pdo2->query($sql) as $row)
합법적인지 확실하지 않습니다. $ pdo2는 어디에서 오는가?
Your Common Sense의 블로그 게시물을 따라 가면 foreach가 올바른 어딘가에 있음을 알 수 있으며 결과를 표시하기 전에 결과가 있는지 확인하는 것도 중요합니다.
코드는 다음과 같아야합니다.
<div class="table-responsive">
<table class="teachers_profile_table table table-bordered">
<thead>
<th style="width:20%">Student</th>
<th>Comment</th>
</thead>
<tbody>
<?php
$pdo = Database::connect();
$sql = "SELECT * FROM tbl_st_comments_abt_tut WHERE tut_id= ? ";
$q = $pdo->prepare($sql);
$q->execute([$teacher_id]);
$data = $q->fetchall(PDO::FETCH_ASSOC);
if (count($data) > 0) {
foreach ($data as $row) {
echo '<tr>';
echo '<td>' . $row['st_name'] . $row['input_date'] . '</td>';
echo '<td>' . $row['st_comment'] . '</td>';
echo '</tr>';
}
} else {
echo "no results";
}
Database::disconnect();
?>
</tbody>
</table>
</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다