Можно ли при запросе из БД получить цифру?

PDO, PHP, MySQL. Любой запрос для примера:
SELECT COUNT(*) FROM `table` WHERE id=1

Возвращает например:
array(1) {
  [0]=>
  array(1) {
    ["COUNT(*)"]=>
    string(1) "1"
  }
}

Обратите внимание что 1 это строка а не число. Это приходится держать в голове и дальше либо делать неточное сравнение == что чревато либо ==='1' либо везде вставлять приведение к числу что не гуманно. С этим можно что-то сделать и как вы поступаете в таких случаях?
  • Вопрос задан
  • 317 просмотров
Решения вопроса 3
DevMan
@DevMan
можно: нужно только пользовать наэйтив драйвер + подготовленные выражения.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Не знаю насчёт цифры, а число можно. Используйте подготовленные запросы с привязкой результата к переменным через bindColumn().
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Перевожу на понятный язык ответ DevMan:

Чтобы получить данный функционал, необходимо, чтобы были соблюдены два условия:

- модуль pdo_mysql должен быть собран на базе mysqlnd. проверяется через phpinfo()
- для запроса используются родные подготовленные выражения, что достигается установкой PDO::ATTR_EMULATE_PREPARES в false
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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