문제

좋아, 나는 여기서 혼란 스럽다. 내 데이터베이스에는이 data => "String@domail.com"(모든 소문자)의 5 행이 있으며, 이것은 내 코드, 쿼리 1 (PHP 및 MySQL을 사용하고 있습니다)입니다.

$str = 'STRING@DOMAIN.COM';

$sel = mysql_query("SELECT COUNT(*) 
                    FROM table 
                    WHERE `column` = '{$str}'");
$num = mysql_num_rows($sel);

echo $num;

결과는 1입니다. 그러나 query2로 변경하면

SELECT column 
FROM table 
WHERE `column` = '{$str}'"

5를 반환합니다.

또 다른 질문은 쿼리 속도 측면에서 데이터베이스, 쿼리 1 또는 2에 행이 존재하는 경우 어떤 쿼리를 사용해야합니까?

도움이 되었습니까?

해결책

$num = mysql_num_rows($sel);

쿼리에서 선택한 행 수를 반환합니다. 쿼리 1의 경우 선택하기 때문에 COUNT(*) 테이블에서 하나의 셀과 함께 하나의 행을 반환합니다.이 셀의 값은 5입니다. 두 번째 쿼리는 값을 가진 모든 항목을 선택합니다. $str, 그래서 mysql_num_rows($sel); 실제로 반환합니다.

다른 질문은 더 효율적이면 먼저 쿼리하지만 가치가있는 행의 수를 찾고 있다면 $str, 사용하지 마세요 mysql_num_rows() 하지만 mysql_fetch_row ().

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top