두 값을 비교하고 하나가 다른 값보다 크면 데이터베이스에서 일부 업데이트를 수행하지만 결과는 항상 false를 반환합니다. 다음은이 코드의 일부입니다.PHP 연산자에 문제가 있음
<?php
$page = mysql_fetch_object(mysql_query("SELECT * FROM `site` WHERE `id`='{$posts['him']}'"));
$count = file_get_contents($site->site_url . 'count/numbercheck.php?url=' . ($page->url));
if(is_numeric($count) && $count > $posts['count'])
{
echo 'true';
}else{
echo 'false';
}
?>
이 오류는 false입니다. $ posts [ 'count']는 다른 페이지의 jquery 게시물에서 가져온 것입니다. 그리고 나는 $ count가 $ posts [count]보다 큽니다. 그리고 그 결과를 확실히하기 위해서 :
<?php
$page = mysql_fetch_object(mysql_query("SELECT * FROM `site` WHERE `id`='{$posts['him']}'"));
$count = file_get_contents($site->site_url . '/count/numbercheck.php?url=' . ($page->url));
if(is_numeric($count) && $count > $posts['count'])
{
echo 'true' . $count . ' ' . $posts['count'];
}else{
echo 'false' . $count . ' ' . $posts['count'];
}
?>
"false 86 85"를 반환합니다. 나는 그것을 얻지 않는다, 나는 무엇을 잘못하고 있는가? 그 86보다 큰 85
AND 중 어느 부분이 실패했는지 확인 했습니까? 'is_numeric'이 false를 리턴합니까, 아니면 확실히 비교 부분입니까? '$ posts [ 'count']'에'is_numeric'을 실행 해 보았습니까? – andrewsi
질문에 대답하는 데 도움이되지는 않지만 mysql_ * 함수 사용을 중단해야합니다. 그들은 더 이상 사용하지 않을 것입니다. 대신 [PDO] (http://php.net/manual/en/book.pdo.php) (PHP 5.1 이상 지원) 또는 [mysqli] (http://php.net/manual/en/book)를 사용하십시오. mysqli.php) (PHP 4.1부터 지원). 어떤 것을 사용해야하는지 잘 모르겠 으면 [이 기사를 읽으십시오] (http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/). – Matt
var_dump() $ count 및 $ posts [ 'count'] 값을 사용하여 해당 데이터 유형과 실제로 포함 된 데이터를 테스트하십시오. –