Do not break TEXT fields (bug #860160).

This commit is contained in:
Michal Čihař
2004-04-29 10:02:42 +00:00
parent cfbdb563d0
commit 705d68c008
2 changed files with 7 additions and 12 deletions

View File

@@ -9,6 +9,7 @@ $Source$
* libraries/display_tbl.lib.php, libraries/sqlparser.lib.php, * libraries/display_tbl.lib.php, libraries/sqlparser.lib.php,
libraries/string.lib.php, libraries/dbi/mysql.dbi.lib.php: SQL parser libraries/string.lib.php, libraries/dbi/mysql.dbi.lib.php: SQL parser
now correctly works with multibyte strings (bug #936161). now correctly works with multibyte strings (bug #936161).
* libraries/dbi/mysql.dbi.lib.php: Do not break TEXT fields (bug #860160).
2004-04-28 Michal Cihar <michal@cihar.com> 2004-04-28 Michal Cihar <michal@cihar.com>
* css/phpmyadmin.css.php: Force <button> to be displayed inline. * css/phpmyadmin.css.php: Force <button> to be displayed inline.

View File

@@ -150,21 +150,15 @@ function PMA_mysql_fetch_array($result, $type = FALSE) {
$num = mysql_num_fields($result); $num = mysql_num_fields($result);
$i = 0; $i = 0;
for($i = 0; $i < $num; $i++) { for($i = 0; $i < $num; $i++) {
$meta = mysql_fetch_field($result);
$name = mysql_field_name($result, $i); $name = mysql_field_name($result, $i);
if (!$meta) { $flags = mysql_field_flags($result, $i);
/* No meta information available -> we guess that it should be converted */ /* Field is BINARY (either marked manually, or it is BLOB) => do not convert it */
if (stristr($flags, 'BINARY')) {
if (isset($data[$i])) $ret[$i] = $data[$i];
if (isset($data[$name])) $ret[PMA_convert_display_charset($name)] = $data[$name];
} else {
if (isset($data[$i])) $ret[$i] = PMA_convert_display_charset($data[$i]); if (isset($data[$i])) $ret[$i] = PMA_convert_display_charset($data[$i]);
if (isset($data[$name])) $ret[PMA_convert_display_charset($name)] = PMA_convert_display_charset($data[$name]); if (isset($data[$name])) $ret[PMA_convert_display_charset($name)] = PMA_convert_display_charset($data[$name]);
} else {
/* Meta information available -> check type of field and convert it according to the type */
if ($meta->blob || stristr($meta->type, 'BINARY')) {
if (isset($data[$i])) $ret[$i] = $data[$i];
if (isset($data[$name])) $ret[PMA_convert_display_charset($name)] = $data[$name];
} else {
if (isset($data[$i])) $ret[$i] = PMA_convert_display_charset($data[$i]);
if (isset($data[$name])) $ret[PMA_convert_display_charset($name)] = PMA_convert_display_charset($data[$name]);
}
} }
} }
return $ret; return $ret;