2014-12-14 1 views
0

는 지금은 테이블의 전체 행을 계산하는 코드를 사용mysql 테이블의 총 행 수를 계산할 때 "AS"매개 변수를 피할 수 있습니까? (PHP)는

$sql = "SELECT COUNT(*) AS Total FROM MyTable"; 
$result = mysqli->query($sql); 
$numberOfRows = mysqli_fetch_object($result); 
$numberOfRows = $numberOfRows->Total; 
나는이의 "있는 그대로"매개 변수를 사용하지 않을 때 얻을 다른 결과를 덤프하기 위해 노력했습니다

질의를하고 인터넷에서 검색해 보았습니다. 그러나 많은 예제에도 불구하고 "AS"매개 변수없이 결과를 직접 검색하는 코드는 없었습니다. 다음

$sql = "SELECT COUNT(*) FROM MyTable"; 
$result = mysqli->query($sql); 

: 그리고 답변과 의견에서

...

내가 예상 결과를 줄이 두 코드 블록을 시도했습니다받은 가져 오기와 을 배열 :

$numberOfRows = $result->fetch_array($result); 
$numberOfRows = $numberOfRows[0]; 

가져 오기 assoc :

성능 현명한 결과 페치 배열이 약간 더 잘 작동 함을 발견했습니다 (코드없이 시도).

+1

'SELECT COUNT (*) from MyTable'을 시도 했습니까? –

+1

mysqli_fetch_object ($ result) 대신 [mysqli_fetch_row ($ result)'] (http://php.net/manual/en/mysqli-result.fetch-row.php)를 사용하면 ['' 각 열은 0 (영)부터 시작하는 배열 오프셋에 저장되는 열거 형 배열입니다.]] (http://php.net/manual/en/mysqli-result.fetch-row.php). 그런 다음'SELECT COUNT (*) from MyTable'을 사용하면'$ numberOfRows [0]'을 사용할 수 있습니다. – Sean

+0

연관 배열을 반환하면 COUNT (*)라는 열을 가질 수 있습니다. – Zarathuztra

답변

3

AS을 사용하여 별칭을 할당하지 않으면 출력의 열 이름이 COUNT(*)이됩니다. 그러면 다음과 같이 검색 할 수 있습니다 :

$numberOfRows = $numberOfRows->{"COUNT(*)"} 
관련 문제