저는 최근 Prepared Statements를 배우기 시작했으며 새로운 스타일로 스크립트를 구성하기 시작했습니다.동일한 페이지에 여러 개의 쿼리를 표시 할 수 없습니다.
그러나 나는 작은 벽을 만났고 누군가 올바른 방향으로 나를 가리킬 수 있기를 바랍니다. 여기
내 SQL 쿼리 구조 :$query = "SELECT `results`, `Success`, `Failure`, `Counter`, `Grades`, `Classes`,
`Special_Id`, `SpecialCondition` FROM `Courses` INNER JOIN `Students` ON `id` =
`Students_Id` JOIN `Conditions` ON `id` = `Special_Id`";
$stmt = $Mconn->prepare($query);
$stmt->bind_result($results, $success, $failed, $counter, $grades, $classes,
$specialId, $specialcondition);
$stmt->execute();
$stmt->store_result();
그리고 여기에 하나 개의 코드 블록 :
<?php
echo "<select = \"SpecialConditions\">";
if($stmt->num_rows == NULL){
echo "No results found.";
}else{
while($stmt->fetch()){
echo "<option value=\"$specialId\">$specialcondition</option>";
}
}
echo "</select>";
?>
그리고 다른 코드 블록 :
이<?php
echo "<select = \"Grades\">";
if($stmt->num_rows == NULL){
echo "No results found.";
}else{
while($stmt->fetch()){
echo "<option value=\"".$grades."\">".$grades."</option>";
}
}
echo "</select>";
?>
좋아, 지금 일어나고있는 일입니다 두 페이지를 같은 페이지에 배치하면 첫 번째 블록은 두 번째 쿼리와 그 아래에있는 다른 쿼리를 죽이게됩니다. 나는 이유를 알 수 없으며 이것을 끝까지 연구했습니다.
같은 코드 블록 내에서 연결을 닫으려고 시도했지만 트릭을 할 수는 없을 것이라고 생각합니다.
이제는 DB 연결이 작동하고 있고, 별도의 페이지에서 각 블록을 테스트하면 예상 한대로 작동하기 때문에 실제로 결과가 저장된다는 것을 알고 있습니다.
도움을 주셔서 감사합니다. 당신이 그들을
$stmt->close();
다른 하나는 모든 데이터를 가져온 경우에도, 여전히 뛰어난있는 동안 다른 준비된 명령문을 시작할 수 없습니다 완료하면
축하합니다. 가능하면 왼쪽의 체크 표시를 사용하여 대답을 '수락 함'으로 표시하십시오. 이것은 다른 사람들이 귀하의 문제가 해결되었음을 알리게합니다. 환호 ~ –
감사합니다. – Cryotech