Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:100868 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 59059 invoked from network); 12 Oct 2017 11:55:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Oct 2017 11:55:40 -0000 Authentication-Results: pb1.pair.com header.from=r@roze.lv; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=r@roze.lv; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain roze.lv designates 213.175.74.1 as permitted sender) X-PHP-List-Original-Sender: r@roze.lv X-Host-Fingerprint: 213.175.74.1 roze.lv Received: from [213.175.74.1] ([213.175.74.1:28785] helo=zeona.lv) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AA/24-49033-A385FD95 for ; Thu, 12 Oct 2017 07:55:39 -0400 Received: from MezhRoze (unknown [10.8.0.69]) by zeona.lv (Postfix) with ESMTP id ED7C322B987DD for ; Thu, 12 Oct 2017 14:55:34 +0300 (EEST) To: Date: Thu, 12 Oct 2017 14:55:35 +0300 Message-ID: <000301d34351$03585950$0a090bf0$@roze.lv> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AdNDTciFb8h81mElQ2iil7bTzG2p0A== Content-Language: lv Subject: Mysql result data types From: r@roze.lv ("Reinis Rozitis") Hello, is there a reason (technical or historical) why the data coming from = MySQL is always strings? I've found only one case where the data type is "honored" - = PDO+mysqlnd+emulation off [1] We made a fairly simple patch to 'mysqlnd' which enables (configurable = via ini) data to be returned (trying to match) as defined in = database/table.=20 In general something like: switch( field->type ){ case MYSQL_TYPE_TINY: case MYSQL_TYPE_SHORT: case MYSQL_TYPE_LONG: case MYSQL_TYPE_LONGLONG: case MYSQL_TYPE_INT24: convert_to_long(data); break; case MYSQL_TYPE_DECIMAL: case MYSQL_TYPE_DOUBLE: case MYSQL_TYPE_FLOAT: case MYSQL_TYPE_NEWDECIMAL: convert_to_double(data); break; } Does it make sense to create a PR and/or RFC for something like this? [1] https://phpdelusions.net/pdo#returntypes wbr Reinis Rozitis