HunteR-VRX
@HunteR-VRX
Помешанный на развитии

Как избежать нежелательных преобразований типов данных при извлечении их из MySQL?

После SQL-запроса в целевую таблицу базы данных, преобразую полученное в ассоциативный массив:

mysqli_fetch_assoc($table)

Данные на входе имеют разнородный тип от string до boolean, а по факту на выходе получаю все значения, преобразованные в string.

Как избежать такого преобразования? Как сохранить типизацию в ее первозданном виде, согласно установленным типам в структуре столбцов таблицы?
  • Вопрос задан
  • 221 просмотр
Решения вопроса 2
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
для чисел с привязкой к mysqlnd
https://www.php.net/manual/ru/mysqli.options.php
MYSQLI_OPT_INT_AND_FLOAT_NATIVE
Преобразовывает столбцы типов integer и float к числам PHP, а не строкам. Работает только с mysqlnd.


Но как по мне, самое логичное это принудительное преобразование результатов к нужному типу.
Можете посмотреть как это сделано в Doctrine DBAL, в частности раздел Mapping Matrix https://www.doctrine-project.org/projects/doctrine...
Ответ написан
Комментировать
HunteR-VRX
@HunteR-VRX Автор вопроса
Помешанный на развитии
У кого, возможно, возникнет такая ситуация, то:
мне помогло использование функции mysqli_fetch_fields
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы