$dbh = new PDO(
'mysql:dbname=имя_базы_данных;host=адрес_хоста',
'логин',
'пароль',
[PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"]
);
$sth = $dbh->prepare("SELECT `id`, `name` FROM `users` WHERE `id` = :id");
$sth->execute(['id' => $_GET['id'] ?? null);
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
> USE test;
> CREATE TABLE `gc` ( `id` INT, `sqrt` FLOAT GENERATED ALWAYS AS SQRT(`id`) STORED);
> INSERT INTO `gc` (`id`) VALUES (1), (2), (3);
> SELECT * FROM `gc`;
+------+---------+
| id | sqrt |
+------+---------+
| 1 | 1 |
| 2 | 1.41421 |
| 3 | 1.73205 |
+------+---------+
# mysqldump test gc
... общие команды
--
-- Table structure for table `gc`
--
DROP TABLE IF EXISTS `gc`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
SET character_set_client = utf8mb4 ;
CREATE TABLE `gc` (
`id` int(11) DEFAULT NULL,
`sqrt` float GENERATED ALWAYS AS (sqrt(`id`)) STORED
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `gc`
--
LOCK TABLES `gc` WRITE;
/*!40000 ALTER TABLE `gc` DISABLE KEYS */;
INSERT INTO `gc` (`id`) VALUES (1),(2),(3);
/*!40000 ALTER TABLE `gc` ENABLE KEYS */;
UNLOCK TABLES;
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
... общие команды
SELECT DATE_FORMAT("01.11.2019",'%d.%m.%Y');
20.11.2001
Ничего не смущает? Функция DATE_FORMAT нужна для перевода даты, записанной в стандартном для MySQL формате год-месяц-день, в другое представление. Вы же подаёте ей на вход дату в формате день-месяц-год.