$cardOptions = array();
$cardOptions['filter'] = 'all';
$cardOptions['fields'] = 'id,name,shortUrl,due,dateLastActivity,closed,desc,idBoard,idList,labels,pos';
$cardOptions['limit'] = $cardsLimit;
$labelOptions = array();
$labelOptions['limit'] = 1000;
$labelOptions['fields'] = 'color,idBoard,name,uses';
$listOptions = array();
$listOptions['filter'] = 'all';
$listOptions['fields'] = 'closed,idBoard,name,pos';
$me = $trello->members->get('me', $boardsOptions);
$partialCardsToKeep = '';
foreach ($me->idBoards as $boardId) {
    $board = $trello->boards->get($boardId);
    saveBoard($board, $conn);
    $labels = $trello->get('boards/' . $boardId . '/labels', $labelOptions);
    saveLabels($labels, $conn);
    $lists = $trello->get('boards/' . $boardId . '/lists', $listOptions);
    saveLists($lists, $conn);
    $partialCardsToKeep = saveAllCards($trello, $conn, $board, $cardOptions);
    if ($partialCardsToKeep != '') {
        $cardsToKeep .= empty($cardsToKeep) ? $partialCardsToKeep : ',' . $partialCardsToKeep;
    }
}
// A simple check, if $cardsToKeep is empty, something probably went wrong
if ($cardsToKeep != '') {
    // Removing all cards no longer in Trello
    $strSQL = "DELETE FROM card WHERE id NOT IN ({$cardsToKeep})";
    $conn->query($strSQL);
}
$conn->close();