У меня есть таблица
TABLE users (
name VARCHAR(20) not null,
mest VARCHAR(20) not null,
info TEXT not null);
В таблице около 20 строчек, и в одном месте из поля info(TEXT) информация считывается не полностью! Половина считывается половина нет! Читал про SQL Injection, там что-то про символ прерывания, ":0" вроде... у меня считывание заканчивается после "сила.</p>" без кавычек. А абзац который идет далее неизвестно где...
Считываю функцией:
$array = mysql_fetch_array($result);
$info = $array['info'];
Это не из-за большого обьема, в других строчках текст до 2 раз больше, и они нормально читаются. Данная проблемная строка в середине таблицы, я и таблицу переустонавливал.. И еще я в цикл поместил для вывода всей таблицы и все вывелось нормально кроме этого. Подскажите в чем проблема. Заранее благодарен.
Хотелось бы увидеть строку полностью, а то так сказать трудно, тем более что всё в приципе правильно.
В принципе пару раз такое уже было, как вариант можно при добавлении новой записи в таблицу, предварительно все текстовые переменные можно пропустить через функцию addslashes(), и только после записывать в таблицу [как вариант можете еще попробовать функцию mysql_escape_string()]. Для получения нормального текста нужно использовать функцию addslashes(). Этот способ иногда помогал.
Переменных там нет и все данные заносятся сразу после создания таблицы! Обычный текст на русском языке только в некоторых местах <p></p> поставил...
Может дело в кодировке базы? хотя наврятли. Если честно, то теряюсь в догадках. Можно на код чтения из БД взглянуть? Может там что то не так.
Все нормально, ошибку нашел. Дело в том что считывание заканчмвалось после символов </p. - По идее это должно выглядеть как </p>, когда исправил все нормально стало.
Invision Power Board ()
© Invision Power Services ()