2013-04-15 4 views
0

포럼에서 특정 카테고리의 게시물 수를 회수하는 함수를 만들었습니다. 다음은 함수에 대한 코드입니다 :이 기능의 문제점은 무엇입니까?

function num_posts_evedisc() { 
    $sql3 = "SELECT COUNT(category) FROM forum_question WHERE category=3"; 
    $query3 = mysql_query($sql3); 
    return($query3); 
} 

가 그리고 이것은 내가 가진 반응이다, 그것을 에코 - 보내고 :.

Resource id #14 

(내 데이터베이스에서 나는 테이블 forum_question 및 열 카테고리가 I (카테고리)를 (ID)로 바꾸려고 시도했지만 작동하지 않습니다.)

고마워!

+1

결과 리소스 - mysql_fetch_array 또는 유사한 데이터를 가져와야합니다. – Jon

+0

mysql_ * 확장은 더 이상 사용되지 않습니다. http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – doublesharp

답변

3

mysql_query 차례로 당신이 결과에 대한 액세스를 제공하는 resource을 반환 반환해야 할 것입니다. 결과에 액세스하려면, 당신은 같은 자원에서 정보를 얻기 위해 뭔가를 사용해야합니다 :

if ($row = mysql_fetch_row($query3)) { 
    return $row[0]; 
} 

(또한 mysql_fetch_array 또는 mysql_result 같은 다른 기능을 사용할 수 있습니다.)하지만

주, 그 mysql_* 함수는 더 이상 사용되지 않으며 이후 버전의 PHP에서 제거 될 예정입니다. Mysql Improved Extension 또는 PDO_MYSQL을보십시오.

+0

고마워요. 또한, 나는 그들이 더 이상 사용되지 않는다는 것을 알고 있으며, 사이트의 대부분을 마친 후에는 모든 것을 업데이트 할 것입니다. – asbxzeeko

1
return mysql_result($query3, 0) 

+0

다음 [PDO]를 사용하여 다시 작성하십시오 (http : // php.net/manual/en/book.pdo.php)? – doublesharp

+0

:) 예, 다시 쓰기는 PDO를 사용합니다. – dave

+0

이것이 왜 더 이상 upvoted되지 않는지 보지 못했을 것입니다. 어쨌든 +1 –