为什么我从php中的mysql查询得到更多结果然后我要求的?

I am getting return values that do not exist in my current database. Even if i change my query the return array stays the same but missing values. How can this be what did i do wrong? My MYSQL server version is 10.0.22 and this server gives me the correct result. So the issue must be in PHP.

My code:

$select_query = "SELECT process_state.UID
FROM process_state 
WHERE process_state.UpdateTimestamp > \"[given time]\"";

$result = mysql_query($select_query, $link_identifier);

var_dump($result);

Result:

array(1) { 
[1]=> array(9) {
    ["UID"]=> string(1) "1" 
    ["CreationTimestamp"]=> NULL 
    ["UpdateTimestamp"]=> NULL 
    ["ProcessState"]=> NULL  
    } 
}

Solution: I have found this code somewhere in my program. The program used the same name ass mine. This function turns the MYSQL result into a array. This happens between the result view and my script. This was done to make the result readable.

parent::processUpdatedAfter($date);

Function:

public function processUpdatedAfter($date)
{
    $result = parent::processUpdatedAfter($date);
    $array = Array();

    if($result != false)
    {
        while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
            $array[$row["UID"]]["UID"] = $row["UID"];
            $array[$row["UID"]]["CreationTimestamp"] = $row["CreationTimestamp"];
            $array[$row["UID"]]["UpdateTimestamp"] = $row["UpdateTimestamp"];
            $array[$row["UID"]]["ProcessState"] = $row["ProcessState"];
        }
        return $array;
    }
    return false;
}

I edited this and my script works fine now thanks for all the help.

$select_query = "SELECT `UID` FROM `process_state ` WHERE `UpdateTimestamp` > \"[given time]\" ORDER BY UID DESC ";

$result = mysql_query($select_query, $link_identifier);

var_dump($result);

Try this hope it will works

You are var_dumping a database resource handle and not the data you queried

You must use some sort of fetching process to actually retrieve that data generated by your query.

$ts = '2016-09-20 08:56:43';  
$select_query = "SELECT process_state.UID
                FROM process_state 
                WHERE process_state.UpdateTimestamp > '$ts'";

$result = mysql_query($select_query, $link_identifier);

// did the query work or is there an error in it
if ( !$result ) {
    // query failed, better look at the error message
    echo mysql_error($link_identifier);
    exit;
}

// test we have some results
echo 'Query Produced ' . mysql_num_rows($result) . '<br>';

// in a while loop if more than one row might be returned
while( $row = mysql_fetch_assoc($result) ) {
    echo $row['UID'] . '<br>';
}

However I have to mention Every time you use the mysql_ database extension in new code a Kitten is strangled somewhere in the world it is deprecated and has been for years and is gone for ever in PHP7. If you are just learning PHP, spend your energies learning the PDO or mysqli database extensions. Start here

Note that, var_dump($result); will only return the resource not data.

You need to mysql_fetch_* for getting records.

Example with MYSQLi Object Oriented:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT process_state.UID
FROM process_state 
WHERE process_state.UpdateTimestamp > \"[given time]\"";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        echo $row['UID'];
    }    
} 
else 
{
    echo "No record found";
}
$conn->close();
?>

Side Note: i suggest you to use mysqli_* or PDO because mysql_* is deprecated and closed in PHP 7.