저는 현재 PDO에서 포럼 시스템을 얻는 중입니다. 나는 색인을 만들었고 나는 지금 범주와 관련있다. 그러나 이상한 길에서 나는 범주를받지 못한다. 내가 category.php에있을 때, id = 1이면 범주가 존재하지 않는다고 말합니다. 다음 코드는 카테고리 ID를 수신하는 부분입니다.카테고리 ID가 수신되지 않습니다.
<?php
$sql = $db->query("SELECT
cat_id,
cat_name,
cat_description
FROM
categories
WHERE
cat_id = " . $_GET['id']);
$result = $sql->rowCount();
if(!$result)
{
echo 'The category could not be displayed, please try again later.';
}
else
{
if($sql || ($result== 0))
{
echo 'This category does not exist.';
}?>
이 범주는 존재하지 않는 라인을 보여줍니다. 나는 테이블이 옳은지 무엇이 잘못되었는지 전혀 모른다. 이게 그 표야. http://sqlfiddle.com/#!2/8d1c4.
저는 PDO 초보자입니다. 어쩌면 생각이 간단하기 때문에 단순한 오류 일 수 있습니다.
답변이 무엇인지 알고 싶은 사람들에게. 여기에 내가 지금 사용하고있는 스크립트 :
<?php
//first select the category based on $_GET['cat_id']
$sql = $db->prepare('SELECT cat_id, cat_name, cat_description
FROM categories WHERE cat_id = :catid');
$sql->bindParam(':catid', $_GET['id'], PDO::PARAM_INT);
$sql->execute();
$result = $sql->rowCount();
if($result === FALSE){
echo 'The category could not be displayed, please try again later.';
}
elseif(count($result) === 0){
echo 'This category does not exist.';
}
else{
왜 '$ sql || ($ result == 0)'? 쿼리가 작동하면''이 카테고리는 존재하지 않습니다. ''라는 문구가 출력 될 것입니다! –
@RocketHazmat 결과 == 0 (해당 ID가있는 범주가 없음)이므로 존재하지 않습니다. – jacmob
하지만 존재한다면 어떻게되는지보십시오! 카테고리가 종료되면'$ result'는'0'과 같지 않으며'$ sql'은'FALSE'가되지 않습니다. 그러므로'if ($ sql || ($ result == 0))'를 얻을 것이다. 'if (TRUE || FALSE) '가 될 것입니다. 'TRUE'이므로 '이 카테고리는 존재하지 않습니다.'라는 문구가 인쇄됩니다. * 그것이 존재하더라도. 논리를 확인해야합니다. –