I know when MySQL returned data, it is returned as strings, no metter of the MySQL data type.
So why when i run this prepared statement i get a integer ?
$id = '1';
sql = "SELECT * FROM
USER
WHERE user_id = ? ";
$stmt = $this->conn->prepare($sql);
$stmt->bind_param('i', $id);
$stmt->execute();
$user = $stmt->get_result();
return ($user->num_rows == 1) ? $user : NULL ;
if ($user) {
while($row = $result->fetch_assoc()) {
$data = array();
$data["user_id"] = $row["user_id"];
return $data;
When i run php gettype($data['user_id']) i get an integer.
I thought that datatype will always be converted to a string.