在调用函数之后,无法使用php函数使用php读取插入mysql数据库中的行

called a function like :-

$setmessage = setlatestmessage($sessionid, $sendersuserid, $message1);

the function is in file functions.php, which i had included in this file The function is :-

function setlatestmessage($sessionid, $userid, $message, $status = 0) {
    $dbc = mysqli_connect(hostname, username, password, database)
            or die("Error connecting database");

    // there was no row, so just add a row
    $query2 = "insert into table(session_id, user_id, message, status) values ( $sessionid, $userid, '$message', $status)";
    mysqli_query($dbc, $query2);

    // if a row was affected, close connection and send true
    if (mysqli_affected_rows($dbc) == 1) {
        mysqli_close($dbc);
        return TRUE;
    }
    mysqli_close($dbc);
    return FALSE;
}

now, just after i had called this function, the script goes like

if (!$setmessage) {
                echo '<status>0</status>';
            } else {
                // fetch id of the row just inserted
                $query2 = "select id from game_messages where session_id = $sessionid and message = '$message1' and user_id = $sendersuserid order by datetime desc limit 1";
                $result2 = mysqli_query($dbc, $query2);

                if (mysqli_num_rows($result2) == 0) {
                    // if no row was returned
                    // case never should happen
                    echo '<status>10</status>';
                }
                else{echo'done';}

The output i get is 10.

However, if i just place a sleep(50) under the function call, or i just code what the function is doing, instead of the function call, i get correct output. Cant figure out why this is happening.

It would be much easier and simpler if you would return the ID generated with your last insert query in setlatestmessage() function using mysqli_insert_id() or false on error. Then you would simply check:

$messageID = setlatestmessage($sessionid, $sendersuserid, $message1);

if ($messageID !== false)
{
    echo '<status>0</status>';
}
else
{
    echo '<status>10</status>';
}