improved the fix against bug #489440

This commit is contained in:
Loïc Chapeaux
2001-12-07 15:48:27 +00:00
parent a032759251
commit 6a76b2ced4
4 changed files with 13 additions and 10 deletions

View File

@@ -120,7 +120,13 @@ $fields_names = array();
$fields_types = array();
while ($row = mysql_fetch_array($fields_rs)) {
$fields_names[] = $row['Field'];
// loic1: set or enum types: slashes single quotes inside options
if (eregi('^(set|enum)\((.+)\)$', $row['Type'], $tmp)) {
$tmp[2] = substr(ereg_replace('([^,])\'\'', '\\1\\\'', ',' . $tmp[2]), 1);
$fields_types[] = $tmp[1] . '(' . str_replace(',', ', ', $tmp[2]) . ')';
} else {
$fields_types[] = $row['Type'];
}
} // end while
if ($fields_rs) {

View File

@@ -168,8 +168,7 @@ while (list($key, $table) = each($the_tables)) {
// reformat mysql query output - staybyte - 9. June 2001
// loic1: set or enum types: slashes single quotes inside options
if (eregi('^(set|enum)\((.+)\)$', $type, $tmp)) {
$tmp[2] = ereg_replace('([^,])\'([^,])', '\\1\\\'\\2', ',' . $tmp[2] . ',');
$tmp[2] = substr($tmp[2], 1, -1);
$tmp[2] = substr(ereg_replace('([^,])\'\'', '\\1\\\'', ',' . $tmp[2]), 1);
$type = $tmp[1] . '(' . str_replace(',', ', ', $tmp[2]) . ')';
$type_nowrap = '';
} else {

View File

@@ -90,8 +90,7 @@ for ($i = 0 ; $i < $num_fields; $i++) {
// set or enum types: slashes single quotes inside options
if (eregi('^(set|enum)\((.+)\)$', $type, $tmp)) {
$type = $tmp[1];
$length = ereg_replace('([^,])\'([^,])', '\\1\\\'\\2', ',' . $tmp[2] . ',');
$length = substr($length, 1, -1);
$length = substr(ereg_replace('([^,])\'\'', '\\1\\\'', ',' . $tmp[2]), 1);
} else {
$length = $type;
$type = chop(eregi_replace('\\(.*\\)', '', $type));

View File

@@ -255,8 +255,7 @@ while ($row = mysql_fetch_array($fields_rs)) {
// reformat mysql query output - staybyte - 9. June 2001
// loic1: set or enum types: slashes single quotes inside options
if (eregi('^(set|enum)\((.+)\)$', $type, $tmp)) {
$tmp[2] = ereg_replace('([^,])\'([^,])', '\\1\\\'\\2', ',' . $tmp[2] . ',');
$tmp[2] = substr($tmp[2], 1, -1);
$tmp[2] = substr(ereg_replace('([^,])\'\'', '\\1\\\'', ',' . $tmp[2]), 1);
$type = $tmp[1] . '(' . str_replace(',', ', ', $tmp[2]) . ')';
$type_nowrap = '';
} else {