微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果0行受PDO影响,如何返回false?

如何解决如果0行受PDO影响,如何返回false?

试试这个

return $stmt->rowCount() > 0;

解决方法

如果0行受PDO影响,如何返回false?

我有这种方法来执行SQL查询,

public function executeSQL($query,$params = array())
{

    try
    {
        $stmt = $this->connection->prepare($query);
        $params = is_array($params) ? $params : array($params);
        $stmt->execute($params);
        return true;

    } 
    catch (PDOException $e) 
    {
        // call the get_error function
        $this->get_error($e);
    }
}

因此,我可以在下面运行这样的查询来更新表中的一行,

    $update = "
        UPDATE content_has_language
        SET text = ?
        WHERE content_id ?
        AND language_id IN
        (
            SELECT language_id
            FROM language AS l
            WHERE l.code = ?
        )
    ";

   $result = $this->connection->executeSQL($update,array(
               'xxx','1','en'      
    ));

无论行是否匹配和更新,它始终返回true。但我需要它返回 错误 - 如果 0 rows affected. (Query took 0.0010 sec)

是否有可能?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。