You have a mismatch in the number of fields specified in the query and the number of parameters provided in the 'bind_param' function. In your case, you have 10 fields specified in the query, but you're providing 11 parameters in the 'bind_param' function as per OriginalGriff's solution stated.
Make sure the number of placeholders in your 'query' and the number of parameters in the 'bind_param' function match exactly, and the data type characters ("s" in your case and only 9 specified) correspond to the correct data types of your respective parameters. Make sure the number of placeholders in the query also matches the number of "s" characters specified in the 'bind_param' function. The correct query and parameter binding should be -
$query = $conn->prepare("INSERT INTO tbl_user (user_name, user_password, user_fullname, user_email, user_fb, user_timestamp, mobile_no, my_agent_id, agent_id, for_agent) VALUES (?, ?, ?, ?, ?, CURRENT_TIMESTAMP, ?, ?, ?, ?);");
$query->bind_param("ssssssssss", $username, $password, $fullname, $email_add, $facebook, $mobile_no, $ref_id, $myrefid, $agentid, $for_agent);
As mentioned above, you can do an error check -
if ($query === false) {
die('Error in preparing the statement: ' . $conn->error);
}