2014-04-14 2 views
0

SQL 테이블의 총 행 수를 반환하려고합니다. 내 코드는 테이블에있는 총 행 수가 아닌 행 수를 반환합니다. 어떤 제안?PHP는 SQL 테이블의 행 수를 반환하려고합니다

PHP :

require(ROOT_PATH . "inc/database.php"); 
try { 
    $query = $db->prepare("REPLACE INTO launch_email VALUES ('$email')"); 
    $query->execute(); 
    $count = $query->rowCount(); 
    echo $count; 
} catch (Exception $e) { 
    echo "Data could not be submitted to the database."; 
exit; 
+0

PHP로 MAMP를 사용하고 있습니다. 5.2.17 –

답변

1

rowCount() IST하지 PDO 클래스의 직접적인 방법은 그 PDOStatement의 방법이다.

구문 : 당신의 접근 방식에

public int PDOStatement::rowCount (void) 

예를 기반 :

try { 
    $query = $db->prepare("REPLACE INTO launch_email VALUES ('$email')"); 
    $query->execute(); 
    $count = $query->rowCount(); 
} catch (Exception $e) { 
    ... 
+0

코드가 작동합니다. 그러나, 그것이 내가 정확히 찾고 있었던 것이 아닙니다. 변경 사항을 반영하기 위해 내 게시물을 수정했습니다. 하지만 내가하고자하는 일은 변경된 행 수만이 아니라 테이블의 총 행 수를 반환하는 것이 었습니다. 내 database.php 파일에서 만든 내 PDO 개체는 $ db입니다. 대신 SQL 카운트 함수를 사용하는 것이 더 쉬울까요? –

+0

이제 잘못된 방법으로 의도 한 해결책을 시도해 왔음을 이해합니다. @RyanSalmons 정확 하 게 –

+0

. 그걸 결정하고 싶다면 레코드를 갱신 한 후에 (예를 들어 그 레코드에'COUNT'를 써서) '선택'해야합니다. 'UPDATE' /'REPLACE' 문장은 영향을받은 행만 반환합니다. 다음과 같이 보일 것입니다 :'SELECT COUNT (*) FROM launch_email where yourfield = "somevalue";' – Bjoern

0

PDO::exec 영향을받는 행의 수를 반환합니다.

rwoCount()을 사용할 필요가 없으므로 rowCount()PDOStatement의 메서드입니다.

require(ROOT_PATH . "inc/database.php"); 
try { 
    $count = $db->exec("REPLACE INTO launch_email VALUES ('$email')"); 
} catch (Exception $e) { 
    echo "Data could not be submitted to the database."; 
    exit; 
} 
관련 문제