php试图返回sql表中的行数

时间:2014-04-14 04:18:25

标签: php sql pdo

尝试返回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;

2 个答案:

答案 0 :(得分:1)

rowCount()不是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) {
    ...

答案 1 :(得分: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;
}