2010-07-22 5 views
2

어떻게 PDO를 사용하여 임의의 행 개수를 얻을 수 있습니까? 나는 여전히이 내가 뭘하려 PDO를 사용하는 방법을 배우고, 그러나 따옴표 무작위로하지 않기 때문에 그것은 작동하지 않았다PDO에서 임의의 행 개수

$sql = "SELECT COUNT(*) AS rows FROM thquotes;"; 

       try { 
         $query = $this->_db->prepare($sql); 
         $query->execute(); 

         **$rowcount = $query->rowCount(); 
         $rand = rand(0,$rowcount-1);** 

         $sql = "SELECT cQuotes, vAuthor, cArabic, vReference 
           FROM thquotes 
           LIMIT $rand, 1"; 

내가 PDO없이 이전이 코드를 사용하고 있었다 일 :

를 당신은뿐만 아니라 MySQL을 사용하여이 작업을 수행 할 수
**$rowcount = mysql_result($result, 0, 0); 
$rand = rand(0,$rowcount-1);** 

답변

3

:

$sql = "SELECT cQuotes, vAuthor, cArabic, vReference 
           FROM thquotes 
           ORDER BY RAND() 
           LIMIT 1"; 
2

는 임의의 순서로 줄을 얻으려면, ORDER BY RAND()를 추가합니다.

4

많은 양의 데이터로 작업 할 계획이라면 ORDER BY Rand()를 사용하지 않는 것이 좋습니다.

설명/추론 및 대체 방법은 Titov.Net - Do not use Order By RAND()의 기사를 참조하십시오.

관련 문제