$stmt = $mysqli->prepare("SELECT * FROM mail WHERE m_id=?");
$stmt->bind_param('d', 1);
$stmt->execute();так тоже ошибка?
bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )types
Строка содержащая один или более символов, каждый из которых задает тип значения привязываемой переменной:
Символы задающие тип
Символ Описание
i соответствующая переменная имеет тип integer
d соответствующая переменная имеет тип double
s соответствующая переменная имеет тип string
b соответствующая переменная является большим двоичным объектом (blob) и будет пересылаться пакетами