Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Изменение информации
Форумы портала PHP.SU » PHP » Программирование на PHP » Изменение информации

Страниц (1): [1]
 

1. aggie - 25 Марта, 2007 - 17:05:36 - перейти к сообщению
Всем привет!

Никак не могу разобраться с изменением информации, всё работает только при маленьких текстах (3-4 строчки), если текст больше, то при нажатии на кнопку "Update" ничего не происходит Огорчение Может кто-нибудь поможет найти ошибку? Растерялся

Файл с изменением информации
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $query="SELECT * FROM news WHERE news_id='$id'";
  4. $result=mysql_query($query);
  5. $num=mysql_numrows($result);
  6. $i=0;
  7. while ($i < $num) {
  8. $title=mysql_result($result,$i,"nwtitle");
  9. $text=mysql_result($result,$i,"text");
  10. $date=mysql_result($result,$i,"news_date");
  11. ?>
  12.  
  13. <form action="nup.php">
  14. <input type="hidden" name="ud_un" value="<?PHP echo "$id"; ?>">
  15. TITLE: <input type="text" name="ud_title" value="<?PHP echo "$title"?>"><br>
  16. TEXT: <textarea name="ud_text" cols="60" rows="15"" id="ud_text"><?PHP echo "$text" ?></textarea><br>
  17. Date: <?PHP echo "$date"?><br>
  18. <input type="Submit" value="Update" name="update" id="update">
  19. </form>
  20. <?PHP
  21. $i=$i+1;
  22. }
  23. ?>
  24.  


И сам update
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $query="UPDATE news SET  nwtitle='$ud_title', text='$ud_text' WHERE news_id='$ud_un'";
  4. mysql_query($query);
  5. echo "Record Updated";
  6. ?>
  7.  


Буду очень благодарно, если кто-то сможет помочь Улыбка
2. -SCHATTEN- - 25 Марта, 2007 - 17:11:50 - перейти к сообщению
Поле в БД у тебя TEXT , TINYTEXT или что ?
3. aggie - 25 Марта, 2007 - 17:16:09 - перейти к сообщению
ТЕХТ Улыбка
4. evgenijj - 25 Марта, 2007 - 17:19:59 - перейти к сообщению
Попробуй mysql_escape_string() -- может быть, где-то в тексте проскакивает кавычка '

(Добавление)
Но вообще, если хочешь получить ответ, вставь в начало скрипта error_reporting( E_ALL ); и напиши, какие сообщения об ошибках выдает скрипт.
5. aggie - 25 Марта, 2007 - 17:22:01 - перейти к сообщению
evgenijj пишет:
Попробуй mysql_escape_string() -- модет быть, где-то в тексте проскакивает кавычка '

Спасибо Улыбка такое вполне возможно Растерялся
6. valenok - 25 Марта, 2007 - 17:57:23 - перейти к сообщению
Поставь echo mysql_error(); и не волнуйся.
7. aggie - 25 Марта, 2007 - 18:15:51 - перейти к сообщению
evgenijj пишет:

Но вообще, если хочешь получить ответ, вставь в начало скрипта error_reporting( E_ALL ); и напиши, какие сообщения об ошибках выдает скрипт.


При добавлении error_reporting( E_ALL ); появилось 6143 Растерялся

Цитата:
Поставь echo mysql_error(); и не волнуйся.


Никаких ошибок не выдал
8. valenok - 25 Марта, 2007 - 18:16:39 - перейти к сообщению
Извини, но вряд ли есть кто на память помнит что это за ошибка 6143 ..
9. evgenijj - 25 Марта, 2007 - 19:15:11 - перейти к сообщению
Знаешь, твой код (мягко говоря) вызывает недоумение:
1. Мы получаем из БД одну запись
$query="SELECT * FROM news WHERE news_id=".$id;
Зачем тогда цикл while?
2. Нет такой функции $num=mysql_numrows($result), есть mysql_num_rows($result)
3. Зачем кавычки в строке
<input type="hidden" name="ud_un" value="<?php echo "$id"; ?>">
Можно (и нужно) обойтись без них
<input type="hidden" name="ud_un" value="<?php echo $id; ?>">
4. При добавлении информации в БД необходимо использовать функцию
mysql_escape_string()
5. Преременная $id не определена
6. Для обработки результатов запроса к БД удобнее пользоваться функцией
mysql_fetch_array()
7. Про register_globals = On я вообще молчу...
$query="UPDATE news SET nwtitle='$ud_title', text='$ud_text' WHERE news_id='$ud_un'";

Выстави в php.ini display_errors = On, error_reporting = E_ALL, register_globals = Off и посмотри на то, что ты наваял.

P.S. Тема обновления записей в БД уже обсуждалась
http://forum.php.su/topic.php?fo...=28&topic=34
10. aggie - 25 Марта, 2007 - 19:58:43 - перейти к сообщению
evgenijj

Спасибо.

Цитата:
P.S. Тема обновления записей в БД уже обсуждалась
http://forum.php.su/topic.php?fo...=28&topic=34

Эту тему я как-то пропустила Растерялся

 

Powered by ExBB FM 1.0 RC1