Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum gibt PDO_MySQL keine ganze Zahl zurück?

Setzen Sie PDO::ATTR_EMULATE_PREPARES auf false, wenn Sie es wirklich mit locker typisiertem PHP benötigen

Wenn mysql_fetch_row gibt Ihnen entweder int für SUM zurück (ich wollte das nie überprüfen) - dann macht es etwas Magie wie if (ctype_digit($val)) $row[$key] = (int)$val; - so können Sie es in Ihrem DBAL tun

Soweit ich die Funktionsweise von vorbereiteten Anweisungen verstehe, verwendet sie dieselbe Paketstruktur für das Senden und Abrufen von Daten, und dieses Paket enthält den Datentyp.

Es sieht so aus, als ob der Server Daten in zwei Formaten zurückgeben kann - nativ und mysqlnd, abhängig vom Anfragetyp. Letzteres kann von der Client-Bibliothek interpretiert werden, um den resultierenden Wert umzuwandeln.