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

Reply via email to