0

背景

我有一个 JSON 函数可以完美运行,而无需指定要运行函数的“哪一部分”。最初,我有一个 JSON 函数来“查看”详细的行信息,还有一个 JSON 函数来“编辑”详细的行信息。这些功能中的每一个都单独运行完美。但是,在听取了同事关于如何将这两个功能组合到一个脚本中的建议之后,它似乎失败了,我不明白为什么......希望 SO 的专家可以帮忙找出原因失败。所有变量都被确认为通过 AJAX 成功传递。

在职的

 $id = (int)$_POST['id']; 
 $query = "SELECT * FROM table WHERE id=$id LIMIT 1"; //expecting one row  
    try {
        $result = $customer->runQuery($query);
        $message = array( 
         'id' => $id,
         'name' => $result[0]['agency_name'], 
         'account' => $result[0]['account_number'], 
         'phone' => $result[0]['phone'] 
         );
    } catch (Exception $e) {
        echo "Error: " . $e->getMessage();
    }} 
        header('Content-Type: application/json');
        print json_encode($message); 

不工作

 $id = (int)$_POST['id']; 
 $action = $_POST['action']; //either "get" or "set"
 $action(); //On loading this variable, the correct function will be run and executed

 function get() { 
 $query = "SELECT * FROM table WHERE id=$id LIMIT 1"; //expecting one row  
    try {
        $result = $customer->runQuery($query);
        $message = array( 
         'id' => $id,
         'name' => $result[0]['agency_name'], 
         'account' => $result[0]['account_number'], 
         'phone' => $result[0]['phone'] 
         );
    } catch (Exception $e) {
        echo "Error: " . $e->getMessage();
    }} 
function set() { //Do Something Else}

header('Content-Type: application/json');
print json_encode($message); 
4

0 回答 0