如何在php函数中使用$ _POST作为参数

Okay, so I've been trying to create a PHP function with a $_POST as an argument. I've read a lot of posts that concerns $_POST as a global variable but I can't still seem to get it. I've been trying to get this code to work with lot of variations but I just can't seem to find the right formula.

Here's my code:

if($_POST['fname']){
$testing = $_POST['fname']
} 
function myTest($test)
{
    if($test)
    {
    $id=14; 
    $sql = "UPDATE stud_bas set fname=:fname WHERE stud_id=:id";
    $query = $db ->prepare($sql);
    $query -> bindValue  (':fname', $test);
    $query -> bindValue (':id', $id);
    $update = $query -> execute();
    }
}

myTest($testing);

So basically, I'm trying to create a function where different $_POST can use the same function. The current function it still in being modified.

But the bottom line is I can't make the $_POST work for the function...
I'm sorry, I didn't notice I didn't include how I call the function. I just used

myTest($testing); Amother variation is I insert myTest($testing); inside the if($_POST)

Since $_POST is a superglobal. you don't need to pass the entire $_POST array around. If you want to use a function to process parts of $_POST, you can just pass the relevant array index, e.g.

$_POST['foo'] = 'bar';

function somefunc($arg) {
    echo $_POST[$arg];
}

somefunc('foo'); // outputs 'bar'

I strongly recommend filtering your input, before inserting it into your Database to prohibit XSS and SQL Injections.

For example:

$filteredPostFoo = filter_input ( INPUT_POST, "bar", FILTER_SANITIZE_FULL_SPECIAL_CHARS );