나는 많은 포럼과 질문을 수행하려고하는 것과 비슷하지만 비슷하지는 않습니다. 나는 이전의 mysql 쿼리를 PDO로 업데이트 중이다. 사람들이 PDO에서 COUNT (*)를 사용하는 데 어려움을 겪고 있고 여러 게시물에서 fetch() 대신 query()를 사용하거나 rowCount() 및 fetchColumn()을 사용하여 설명하는 여러 게시물을 보았습니다.PDO를 사용하여 MySQL 데이터베이스 열에있는 항목의 인스턴스 수를 얻으십시오.
그러나 쿼리에서 쿼리가 0 또는 0 행을 반환하는지 확인하는 것으로 보입니다. 쿼리가 유효한지 테스트하거나 단일 쿼리에서 반환하는 행의 수를 나열하는 단일 행을 반환 할 수 있습니까? 그게 내가하려는 일이 아니야. (아니면 내가 잘못보고있다.)
내가 원하는 것은 각 고유 항목이 주어진 열에서 몇 번이나 나왔는지에 대한 목록을 얻는 것입니다. 나는 내가 각 카테고리에 대해 얼마나 많은 아이템을 갖고 싶은지 페인트 볼 웹 사이트를 가지고있다. (간결 냈다) 이전 MySQL의 코드는 이런 식입니다 :
$query = "SELECT Category, COUNT(*) FROM table WHERE Notes NOT LIKE 'Discontinued' GROUP BY Category";
$result = mysql_query($query);
$num_results = $result->num_rows;
while($row=mysql_fetch_array($result, MYSQL_NUM)) {
echo "$row[0]: $row[1]<br />";
}
내 결과는 다음과 같습니다
항공 : (312)
마커 : 627 개
마스크 : (124)
페인트 : 97
이제는 PDO와 동일한 결과를 얻으 려하고 다른 질문에서 뽑은 약 12 가지 제안을 시도했습니다. 물었다. 나는 보통 이러한 문제를 해킹하고 싶다. 그리고 이것은 내가 수건을 던져서 실제로 PHP 포럼에 내 문제를 게시해야하는 첫 번째 사건이다. 나는 너무 혼란스러워서 더 이상 어떤 길을 찾지 못했습니다.
신선한 관점에서의 안내는 대단히 감사하겠습니다. 내가 보거나 오해하지 않는 방법이 있어야합니다. 미리 감사드립니다!
당신은 PDO에서 같은 쿼리를 사용하고 다른 쿼리와 마찬가지로 결과를 가져옵니다. '아이템의 인스턴스 수'를 가져 오는 것은 특별한 것이 아닙니다. mysql과 PDO의 모든 결과입니다. '$ pdo-> query ('SELECT COUNT() from count from myTable') -> execute() -> 가져 오기 (PDO :: FETCH_OBJ) -> 카운트, ' –
빠른 코멘트를 주셔서 감사합니다. 필자는 fetch()를 사용하지 않기로 한 여러 페이지를 보았습니다. 왜냐하면 단일 행만 반환하기 때문입니다. while 루프에 넣거나 fetchAll()을 사용하는 경향이 있습니다. 어떤 사람들은 그것들을 전혀 사용하지 않는다고 대신 query()를 사용합니다. 그러므로 다른 견해들 모두에서의 혼란의 일부. 나는 방향을 찾기를 계속했고 어제 어떻게 진행해야하는지에 대한 힌트를 발견했을 것입니다. 다른 사람들이 필요할 때 코드를 볼 수 있도록 코드가 있으면 코드를 다시 게시 해 보겠습니다. – Tam
내 쿼리는 한 행만 반환하기 때문에. 귀하의 질의 ('SELECT category, count (*) as count ...)는 모든 고유 한 카테고리에 대해 두 개의 필드와 행을 반환합니다. –