-1
public function deleteComment( $id, $check_author = true ) {
        $q = $this -> database -> prepare( "SELECT `id`, `aid` FROM `addon_comments` WHERE `id` = :id" );
        $q -> execute( array( 'id' => $id ) );

        if( !$q -> rowCount( ) )
            return -1;

        $r      = $q -> fetch( );
        $uid    = $this -> registry -> getClass( 'Users' ) -> isLogged( );

        if( $check_author && $r[ 'aid' ] != $uid )
            return -2;


        $s = $this -> database -> prepare( "DELETE FROM `addon_comments` WHERE `id` = :id OR `parent` = :id" );
        $s -> execute( array( 'id' => $id ) );

        return 1;           
    }

関数は私に-1を返しますが、行はクエリによって削除されます..削除クエリをコメントすると、すべて問題ありません(関数は1を返します)..何が間違っていましたか?

4

1 に答える 1

0

行が正常に選択された場合、以下のコードは true を返します。

if( $q -> rowCount( ) )
    return -1;

否定的な結果を確認して を返したい場合は、次を-1使用することをお勧めします。

if($q->rowCount() < 1)
    return -1;
于 2013-10-18T12:00:30.310 に答える