2015-01-23 2 views
-1

나는 작동하지 않는 php/mysql 스크립트를 가지고있다! 문자열의 행 수가 얼마나되는지를 알아야하고 "부울 전체 텍스트"함수에서 계산해야합니다.이 "개수"기능이 작동하지 않는 이유는 무엇입니까? (PHP/MYSQL)

$resuslt=mysql_query("SELECT COUNT(homeid) 
         FROM notes 
         WHERE MATCH(title, text, tags) AGAINST('+$searchstring*' IN BOOLEAN MODE) AS accurate 
         FROM notes 
         WHERE MATCH(title, text, tags) AGAINST ('+$searchstring*' IN BOOLEAN MODE)"); 

내가 무엇을해야합니까 :

이 작동하지 않는 코드는?

+0

시도'mysql_' 기능을 사용하지 않도록 그들이 – bear

+1

를 사용되지 않습니다으로 **, ['mysql_로 사용을 중지하십시오 * 'functions] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). ** 더 이상 유지 관리되지 않으며 공식적으로 사용되지 않습니다 (https :// /wiki.php.net/rfc/mysql_deprecation). ** 대신 [prepared statements] (http://en.wikipedia.org/wiki/Prepared_statement) **에 대해 알아보고 ** [PDO] (http://us1.php.net/pdo)를 사용하십시오. ** "효과가 없다"는 것은 무엇을 의미합니까? –

+4

쿼리가 구문 상 올바르지 않습니다. 하나의 select는'from '을 하나만 가질 수 있습니다. 또한 당신의 의도가 무엇인지도 명확하지 않습니다. –

답변

0

원하는대로 할 수 있습니까? homeid 반복 할 수 있다면

SELECT COUNT(homeid) 
FROM notes 
WHERE MATCH(title, text, tags) AGAINST('+$searchstring*' IN BOOLEAN MODE) > 0; 

, 당신은 정말 count(distinct homeid)을 할 수 있습니다.

-1

subselect가 맞습니까? 당신이 거기에의에서 두 가지가없는 경우 :

"SELECT COUNT(homeid) 
         FROM notes 
         WHERE MATCH(title, text, tags) AGAINST('+$searchstring*' IN BOOLEAN MODE) AS accurate 
         FROM notes 
         WHERE MATCH(title, text, tags) AGAINST ('+$searchstring*' IN BOOLEAN MODE)"); 

이 작업을 시도 할 수 :

SELECT (SELECT COUNT(homeid) 
          FROM notes 
          WHERE MATCH(title, text, tags) AGAINST('+$searchstring*' IN BOOLEAN MODE)) AS accurate 
          FROM notes 
          WHERE MATCH(title, text, tags) AGAINST ('+$searchstring*' IN BOOLEAN MODE) 
관련 문제