|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
  [2009-10-27 17:42 UTC] novitools dot novi at web dot de
 Description:
------------
When you use Predefined Statements you can only read the first 256 words of a string. The same error occurs, when you try to select a text column from the database.
Reproduce code:
---------------
<?php
$Database = new mysqli('localhost', 'root', '');
// that didn't works like expected
$Statement =  $Database->stmt_init();
$sql="SELECT 'You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn\'t had this error before in a previous version of php.'";
$Statement->prepare($sql);
$Statement->execute();
$Statement->bind_result($Text);
$Statement->fetch();
$Statement->close();
var_dump($Text);
// that works like expected
$Database = new mysqli('localhost', 'root', '');
$sql="SELECT 'You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn\'t had this error before in a previous version of php.'";
$Result = $Database->query($sql);
$Row = $Result->fetch_row();
$Result->close();
var_dump($Row[0]);
?>
Expected result:
----------------
string(284) "You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn't had this error before in a previous version of php."
string(284) "You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn't had this error before in a previous version of php."
Actual result:
--------------
string(256) "You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn't had this error before i"
string(284) "You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn't had this error before in a previous version of php."
Note that the first string is only 256 words long.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             | |||||||||||||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 03:00:01 2025 UTC | 
Works for me in PHP 5.3.0: <?php $db = new mysqli('localhost', 'root', ''); $stmt = $db->stmt_init(); $sql = "SELECT 'You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn\'t had this error before in a previous version of php.'"; $stmt->prepare($sql); $stmt->execute(); $stmt->bind_result($text); $stmt->fetch(); $stmt->close(); var_dump(phpversion()); var_dump($db->client_version); var_dump($db->server_version); var_dump($db->protocol_version); var_dump($text); ?> Output: string(5) "5.3.0" int(50005) int(50132) int(10) string(288) "You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn't had this error before in a previous version of php."Same Problem here: $db = new mysqli('localhost', 'root', '', 'test'); $stmt = $db->stmt_init(); $sql = "SELECT `text` FROM `longtext` WHERE `id` = 1"; $stmt->prepare($sql); $stmt->execute(); $stmt->bind_result($text); $stmt->fetch(); $stmt->close(); var_dump(phpversion()); var_dump($db->client_version); var_dump($db->server_version); var_dump($db->protocol_version); var_dump($text); Output: string(5) "5.3.0" int(50137) int(50137) int(10) string(256) "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata " OS: Win 7 SQL: SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; CREATE DATABASE `test` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `test`; CREATE TABLE IF NOT EXISTS `longtext` ( `id` int(11) NOT NULL, `text` text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `longtext` (`id`, `text`) VALUES (1, 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.');Here is the result: Field 1: `You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn't had this error before ` Catalog: `def` Database: `` Table: `` Org_table: `` Type: VAR_STRING Collation: latin1_swedish_ci (8) Length: 284 Max_length: 284 Decimals: 31 Flags: NOT_NULL +------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----------------------------------------------+ | You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn't had this error before | +------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----------------------------------------------+ | You can only read the first 256 words of this text. That is why I must write such a long text, because I must reach the limit of 256 words. The same error occours, when you try to select a text column from the database. But I didn't had this error before in a previous version of php. | +------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----------------------------------------------+ 1 row in set (0.00 sec)