MySQL查询发送成功,但数据库字段保持空白

The following 2 queries are the result of an echo in php:

UPDATE glymping_userdata
SET current_location_gps = '51.9171115;4.484812'
WHERE id = 1

and

UPDATE glymping_user_has_appointments
SET status = 'enroute',
start_location_gps = '51.9171115;4.484812'
WHERE userId = 1
AND appointmentId = 47

Both queries work when entered manually in the database and all fields are filled correctly. When I let the php file run the queries, the queries are like shown above, but the "start_location_gps" and the "current_location_gps" are empty.

The values in the queries are strings and the database fields are a varchar(30). Yet the fields in the database are empty.

The location value is received from a post method.

Does anyone knows what I am forgetting or doing wrong?

EDIT:

php example

public function SendQuery($query)
{
    $results = $this->mysqli->query($query);
    return $results;
}

public function UpdateUserLocation($currentLocationGps)
{
    $query = "UPDATE ".DB_PREFIX."userdata
                SET current_location_gps = '{$currentLocationGps}'
                WHERE id = ".$this->userId;
    //echo $query;
    $this->db->SendQuery($query);
}

Your current code doesn't check the return value of mysqli_query; the query might fail "silently". It could also be that the query does not affect any records in the database becaue of wrong values in the WHERE clause.
Try it with

if ( !$this->db->SendQuery($query) ) {
  // query failed: syntax error, connection lost, access denied,duplicate entries, ...
  trigger_error($this->mysqli->error);
}
else {
  if ( 0 < $this->mysqli->affected_rows ) {
    // WHERE clause doesn't match any record, no values changed, ...
    trigger_error('no rows affected');
  }
}

Your query might also be prone to sql injections, please check http://php.net/manual/en/security.database.sql-injection.php