Skip to content
  • Andreas Fischer's avatar
    Remove OC_DB_StatementWrapper::numRows(). · 63a2bea7
    Andreas Fischer authored
    Using this method will result in an unneccesary extra SQL query (which also may
    return an incorrect result because the underlying table changed in the
    meantime).
    
    In general:
    
    If you are performing an UPDATE, DELETE or equivalent query,
    OC_DB_StatementWrapper::execute() will already give you the number of
    "affected rows" via \Doctrine\DBAL\Driver\Statement::rowCount(). This will
    not work for SELECT queries, however.
    
    If you want to know whether a table contains any rows matching your condition,
    use "SELECT id FROM ... WHERE ... LIMIT 1".
    
    If you want to know whether a table contains any rows matching your condition
    and you also need the data, use "SELECT ... FROM ... WHERE ...", then use
    one of the fetch() methods.
    
    If you want to count the number of rows matching your condition, use use
    "SELECT COUNT(...) AS number_of_rows FROM ... WHERE ...", then use one of the
    fetch() methods.
    63a2bea7