코드 :빈 테이블의 SELECT에 대해 mysql_num_rows가 1을 반환하는 이유는 무엇입니까?
$review = mysql_query("SELECT conceptID, MIN(nextReview) FROM userconcepts WHERE userID='$userID'");
$nrows = mysql_num_rows($review);
echo "$nrows<br />\n";
테이블이 같은 항목이 올바른 열 값을 반환 할 때 쿼리가 작동합니다. 그러나 테이블이 비어있을 때, 지금 당장 HeidiSQL에서 확인할 수 있듯이, mysql_num_rows는 여전히 1을 반환하지만, 컬럼 값은 비어 있습니다. (테이블에 다른 사용자 아이디에 다른 값이있는 경우에도 문제가 계속 발생합니다.)
정상적인 작업 중에이 쿼리가 빈 세트를 반환하기를 기대하며, 결과의 존재에 따라 조치를 취하고 싶지만 그 결과가있는 경우 결과를 사용하려고합니다. 어떤 이유로이 코드가 제대로 작동하지 않는지 (테이블이 비어 있으면 0을 반환 할 것으로 기대됨)?
[** 새 코드 **] (http://bit.ly/phpmsql)에 mysql_ * 함수를 사용하지 마십시오. 그들은 더 이상 유지되지 않으며 [공식적으로 사용되지 않습니다] (http://j.mp/XqV7Lp). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. – Kermit
@AarolamaBluenk 어떻게 사용자의 문제를 해결할 수 있을까요? – aaaaaa123456789
@ aaaaaa123456789 그게 답이 아닌 이유입니다. – poke