Edit report at https://bugs.php.net/bug.php?id=62054&edit=1
ID: 62054 Updated by: u...@php.net Reported by: s-php at ertel-net dot de Summary: Column size is not reserved for all UNION -Status: Open +Status: Feedback Type: Bug Package: MySQLi related Operating System: Ubuntu PHP Version: 5.3.13 Block user comment: N Private report: N New Comment: 99% sure: Server bug, not a client issue. Please, report column type information retrieved on the MySQL prompt when preparing the statement using SQL PREPARE and then executing it. Log in to the MySQL prompt using --column-type-info option to see the meta data reported by the server. Previous Comments: ------------------------------------------------------------------------ [2012-05-17 13:28:21] s-php at ertel-net dot de Description: ------------ When I concatenate two queries with UNION an there are static strings in the queries, mysqli only reserves a big enough variable for the strings in the first query. If there are static strings in the other queries after the UNION, the strings are just cut off. Test script: --------------- $stmt = $this->mysqli->prepare("SELECT 'read' AS Action FROM tbl1 UNION SELECT CASE status WHEN 0 THEN 'request-received' WHEN 1 THEN 'confirmed' WHEN 2 THEN 'x' END AS Action FROM tbl2"); $stmt->bind_result($action); $stmt->execute(); while($stmt->fetch()) { echo $action . " "; } Expected result: ---------------- expected output is: read request-received confirmed Actual result: -------------- actual output is: read request-recei confirmed The "request-received" is cut off! ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=62054&edit=1