Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Большой текст не хочет в MySQL!

Обсуждение темы Большой текст не хочет в MySQL! в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Обычная форма добавления статей, методом пост всё передаёться на скрипт и там соответсвенно insert into name_table values (id, name, date, text) и тип ...


Закрытая тема
 
Опции темы
Старый 17.08.2007, 15:54   #1
Обычная форма добавления статей, методом пост всё передаёться на скрипт и там соответсвенно insert into name_table values (id, name, date, text) и тип text пробовал, и longtext, всё-равно в столб text записываеться всего навсего знаков 300, а еси больше, выдаёт ошибку...
В чём может быть проблема?
 
Старый 17.08.2007, 15:54
Ссылки
Старый 17.08.2007, 16:59   #2
Скорее всего вы сами где-то обрезаете текст. В любом случае, покажите код программы.
 
Старый 17.08.2007, 18:03   #3
Ну пусть это будет index.php. Форма:

<form action="script.php" method="post">
*Дата публикации статьи:
<input type="text" name="date" size="30" maxlength="8" value="'; echo date("d.m.y"); echo '">

*Имя автора статьи:
<input type="text" name="name" maxlength="50" size="30" value="'; echo $_SESSION['username']; echo '">

Email автора:
<input type="text" name="email" maxlength="50" size="30" value="">

Домашная страница без http://
<input type="text" name="link" maxlength="50" size="30" value="">

*Заголовок статьи:
<input type="text" name="zagolovok" maxlength="100" size="93" value="">

*Текст статьи:
<textarea name="text" rows="17" cols="70"></textarea>



<input type="submit" value="Отправить статью"><input type="reset" value="Очистить">
</form>

Cоответсвенно script.php вот:

<?
if ($_POST[date] == "" $_POST[name] == "" or $_POST[zagolovok] == "" or $_POST[text] == "")
{
echo "Заполните все необходимые поля!";
}
else
{
$table = "clauses";//Имя таблицы
$db = "clauses"; //Имя базы данных
$user = "clauses"; //Пользователь сервера баз данных
$pass = "********"; //Пароль
$server = "localhost"; //Имя сервера
$link = mysql_connect($server, $user, $pass);
if(!$link) die("Не могу соединиться с MySQL"); //Создание соединения
mysql_select_db($db) or die("Не могу открыть $db: ".mysql_error()); //Соединение с БД
$result = mysql_query("insert into $table values
(\"\", \"$_POST[date]\", \"$_POST[name]\", \"$_POST[email]\", \"$_POST[link]\", \"$_POST[zagolovok]\", \"\", \"$_POST[text]\")");
if (!$result)
echo "Ошибка в добавлении статьи!!!";
else echo "Статья успешно добавлена...";
}
?>

Ну вот проще некуда. И когда в форме отправлеться большой тект, то запись не производиться... Пачиму?!
 
Старый 17.08.2007, 19:21   #4
Код выдаваемой ошибки?
 
Старый 18.08.2007, 11:45   #5
Взял я и преписал всё заново....
Не знаю, толи MySQL был не в духе, толи руки не из того места растут, но всё чудесным образом заработало, но правда с longtext.

Извиняюсь за беспокойство, но бошку я се сломал, када искал причину.....
 
Старый 01.09.2007, 17:18   #6
Данные надо проверять и обрабатывать перед вставкой в БД. Может, у вас в тексте была кавычка, которая портила sql-запрос.
 
Старый 15.09.2007, 11:53   #7
После экранирования данных запрос должен выглядеть так:
Код:
$sql = "
INSERT INTO `$table` VALUES(
    NULL, '${_POST['date']}', '${_POST['name']}', '${_POST['email']}',
    '${_POST['link']}', '${_POST['zagolovok']}', '', '${_POST['text']}'
)";
 
Старый 15.09.2007, 11:53
Закрытая тема


Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хостинг под большой проект ArtS Платный хостинг 4 30.06.2011 05:48
БРФ, Большой Русский Форум Phorumka Скамейка запасных 20 29.03.2010 23:36
текст не хочет valign=bottom vova7777 HTML, CSS, JavaScript 3 15.09.2007 13:14
большой текстовый блок hunter-lex Библиотека 3 01.03.2007 10:22
Как мне сделать, чтобы текст в MySQl показывался на сайте Kid HTML, CSS, JavaScript 1 05.08.2003 04:44


Текущее время: 08:53. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум