在另一个功能完成后调用一个函数

时间:2013-11-03 13:03:37

标签: php function

为什么在delete_account()函数的末尾调用get_accounts()函数不起作用?

function get_accounts() {
    require(ROOT_PATH . "inc/database.php");
    try {
        $results = $db->query("SELECT * FROM account");
    } catch (Exception $e) {
        echo ("ERROR: Data could not be retrieved from the database." . $e);
        exit;
    }
    $accounts = $results->fetchall(PDO::FETCH_ASSOC);
    return $accounts;
}



if(isset($_GET['action']) && ($_GET['action'] == 'delete_account')) {


            require("config.php");
            require("database.php");

            $deleteAccount = $_POST['account'];


            try {
                $results = $db->prepare("DELETE FROM account WHERE account_id_PK = ?");
                $results->bindValue(1, $deleteAccount);
                $results->execute();
            } catch(Exception $e) {
                echo "ERROR: Data could not be removed from the database. " . $e;
                exit;
            }
            echo($deleteAccount);
get_accounts();
};

基本上,我想运行delete_accounts()函数,最后我想运行get_accounts()函数,该函数将在删除所选帐户后刷新页面上的帐户列表。无论我尝试什么,我似乎无法从另一个函数中调用函数。

1 个答案:

答案 0 :(得分:2)

使用try catch&的最后部分删除' exit();'

if(isset($_GET['action']) && ($_GET['action'] == 'delete_account')) {

            require("config.php");
            require("database.php");

            $deleteAccount = $_POST['account'];

            try {
                $results = $db->prepare("DELETE FROM account WHERE account_id_PK = ?");
                $results->bindValue(1, $deleteAccount);
                $results->execute();
            } catch(Exception $e) {
                echo "ERROR: Data could not be removed from the database. " . $e;
            }finally{ 
               get_accounts();
            }
            echo($deleteAccount);
}