MySQL预处理语句返回NULL值

I have created a MYSQL prepared statement to query my database but I'm not getting the results i'm after. var_dump returns a NULL value. Here's my code

UPDATE with full code and error

function dynamicsearch() {
    $link = mysqli_connect ( '192.168.2.113', 'root', '', 'solstats' );

    if (isset ( $_POST ['callerID'] )) {
        $number = $_POST ['callerID'];
        $qry = "SELECT * FROM call_outcome WHERE callerid LIKE '?' LIMIT 10";
        $stmt = mysqli_prepare ( $link, $qry );
        $stmt->bind_param('s', $number);
        $stmt->execute ();
        var_dump($stmt);
        $res = $stmt->fetch ();
        $row = mysqli_fetch_assoc ( $res );
        return $res;

    }
}


var_dump ( $res );
$IDdata = dynamicsearch ();
?>
<!DOCTYPE html>
<html>
<body>
    <h2>DB Query Results</h2>
    <table border="2">
        <tr>
            <th>id</th>
            <th>callerid</th>
            <th>calldate</th>
            <th>ivron</th>
            <th>bopon</th>
            <th>type</th>
            <th>uniqueid</th>
            <th>queue_name</th>
        </tr>
        <tr>        
<?php
while ( $result = mysqli_fetch_array ( $IDdata ) ) { // Fecth array used to fetch each array of the queried result and populate it to the table.
    echo "<tr>";
    echo "<td>" . $result ['id'] . "</td>";
    echo "<td>" . $result ['callerid'] . "</td>";
    echo "<td>" . $result ['calldate'] . "</td>";
    echo "<td>" . $result ['ivron'] . "</td>";
    echo "<td>" . $result ['bopon'] . "</td>";
    echo "<td>" . $result ['type'] . "</td>";
    echo "<td>" . $result ['uniqueid'] . "</td>";
    echo "<td>" . $result ['queue_name'] . "</td>";
    echo "</tr>";
}

?>
</tr>
    </table>

</body>
</html>

Not sure where I'm going wrong.I did another var_dump after the statement is executed and it returned the following error object(mysqli_stmt)#2 (0) { } . What does this error mean and how can I fix it ? Thanks.

Error

Your not passing it the value.

   $number = $_POST ['callerID'];
        $qry = "SELECT * FROM call_outcome WHERE callerid LIKE ? LIMIT 10";
        $stmt = mysqli_prepare ( $link, $qry );
        $stmt->bind_param('i', $number); 
        $stmt->execute ();
        $res = $stmt->fetch ();

I haven't worked with mysqli, might want to double check that.

http://php.net/manual/en/mysqli-stmt.bind-param.php

please check this updated code :

        function dynamicsearch() {
    $link = mysqli_connect ( '192.168.2.113', 'root', '', 'solstats' );

    if (isset ( $_POST ['callerID'] )) {
        $number = $_POST ['callerID'];
        $qry = "SELECT * FROM call_outcome WHERE callerid LIKE '%?%' LIMIT 10";
        $stmt = mysqli_prepare ( $link, $qry );
        mysqli_stmt_bind_param($stmt, "s", $number); //for integer use i , for string use s
        mysqli_stmt_execute($stmt);
        $res= mysqli_stmt_fetch($stmt);       
        return $res;

    }
}
<?php
function dynamicsearch() {
    $link = mysqli_connect('192.168.2.113', 'root', '', 'solstats');
    $result = array();
    if (isset($_POST ['callerID'])) {
        $number = $_POST ['callerID'];
        $qry = "SELECT * FROM call_outcome WHERE callerid LIKE ? LIMIT 10";
        $stmt = mysqli_prepare($link, $qry);

        mysqli_stmt_bind_param($stmt, 's', $number);
        mysqli_stmt_execute($stmt);
        mysqli_stmt_bind_result($stmt, $id, $callerid, $calldate, $ivron, $bopon, $type, $uniqueid, $queue_name);
        while (mysqli_stmt_fetch($stmt)) {
            $result[] = ['id' => $id, 'callerid' => $callerid, 'calldate' => $calldate, 'ivron' => $ivron,
                'bopon' => $bopon, 'type' => $type, 'uniqueid' => $uniqueid, 'queue_name' => $queue_name];
        }
    }
    return $result;
}
$IDdata = dynamicsearch();
?>
<!DOCTYPE html>
<html>
    <body>
        <h2>DB Query Results</h2>
        <table border="2">
            <tr>
                <th>id</th>
                <th>callerid</th>
                <th>calldate</th>
                <th>ivron</th>
                <th>bopon</th>
                <th>type</th>
                <th>uniqueid</th>
                <th>queue_name</th>
            </tr>
            <tr>        
                <?php
                foreach ($IDdata as $result) { // Fecth array used to fetch each array of the queried result and populate it to the table.
                    echo "<tr>";
                    echo "<td>" . $result ['id'] . "</td>";
                    echo "<td>" . $result ['callerid'] . "</td>";
                    echo "<td>" . $result ['calldate'] . "</td>";
                    echo "<td>" . $result ['ivron'] . "</td>";
                    echo "<td>" . $result ['bopon'] . "</td>";
                    echo "<td>" . $result ['type'] . "</td>";
                    echo "<td>" . $result ['uniqueid'] . "</td>";
                    echo "<td>" . $result ['queue_name'] . "</td>";
                    echo "</tr>";
                }
                ?>
            </tr>
        </table>
    </body>
</html>