背景
我有一个 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);