Webhook呼叫失败。 错误:无法解析webhook JSON响应:期望消息对象但得到'<br'

I have written fulfillment linking database to MySQL database but dialogflow returns the status Webhook call failed. Error: Failed to parse webhook JSON response: Expect message object but got '

I have tried to look into the formats of json for v1 and v2 of dialogflow without much success. I have attached my fulfillment code below

<?php

include ("db_regusers.php);
include ("function_regusers.php);
$update_response = file_get_contents("php://input");
$update = json_decode("$update_response, true);
$varresultaction = $update["queryResult"["action"];
$messages = $update["queryResult"]["queryText"];
$session = $update["session"];
$search =(isset($update["queryResult"][parameters"]["search"]?$update["queryResult"]["parameters"["search"]:null);
$firstname=(isset($update["queryResult"]["parameters"]["firstname"])?$update["queryResult"]["parameters"]["firstname"]:null);
$lastname=(isset($update["queryResult"]["parameters"]["lastname"])?$update["queryResult"]["parameters"]["firstname]:null);
$policynumber=(isset($update["queryResult"]["parameters"]["policynumber"])?$update["queryResult"]["parameters"]["policynumber"]:null);
$id(isset($update["queryResult"]["parameters"]["id"])?$update["queryResult"]["parameters"]["id"]:null);

$ignore1 = "";
$sessionunique = "";

if ($session != "")
{
    $list = list($ignore1,$sessionunique) = explode('sessions/',$session);

}
else
{
    $nothing = "You do not have a session";
    sendMessage(array(
    "source"=>null,
    "fulfillmentText"=>$nothing
}
exit;
}
if($varresultaction=="display_data_to_edit")
{
    $response= display_data_to_edit($id,$link,$mySQLserver,$mySQLdefaultdb,$mySQLuser,$mySQLpassword);
    sendMessage (array(
    "source" => null,
    "fulfillmentText"=>$response
));
exit;
}
if($varresultaction == "entry_data")
{
    $id = add_data($firstname,$lastname,$policynumber,$id,$mySQLserver,mySQLdefaultdb,mySQLuser,mySQLserver,mySQLpassword);
    $response = "data has been saved, your access_code is ".$last_ID";
    sendMessage (array(
    "source"=> null,
    "fulfillmentText"=>$response));
    exit;
}
if ($varresultaction==view_data)
{
    if ($id=="all")
    {
        ($id="")
    }
    response = view_data($id,$link,$mySQLserver,$mySQLdefaultdb,$mySQLuser,$mySQLpassword);
    sendMessage (array(
    "source"=> null,
    "fulfillmentText"=>$response
    ));
 exit;
}

if($varresultaction=="delete_data")
{
    $response = delete_data($id,$link,$mySQLserver,$mySQLdefaultdb,mySQLpassword);

    sendMessage (array(
        "source"=>null,
        "fulfillmentText"=>$response
    ));
    exit;
}

if ($varresultaction == "search_data")
{
    $response = search_data($search,$link,$mySQLserver,$mySQLdefaultdb,$mySQLuser,$mySQLpassword)
    sendMessage (array(
    "source"=> null,
    "fulfillmentText" => $response
    ));
    exit;
}

if ($varresultaction=="update_data")
{
    $response = update_data($id,$firstname,$policynumber,$link,$mySQLserver,$mySQLdefaultdb,mySQLuser,mySQLpassword);
    sendMessage (array(
    "source"=> null,
    "fulfillmentText" => $response
    ));
    exit;
}

?>

the code should be able to read and write user input to database but is returning the error instead