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 :: Версия для печати :: Упорядочить мысли и код [2]
Форумы портала PHP.SU » » Работа с СУБД » Упорядочить мысли и код

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

16. tuareg - 21 Ноября, 2011 - 17:28:31 - перейти к сообщению
Структуру выложите, такое ощущение, что id почему-то не число ' WHERE id='6929'' at line 1
или кавычка лишняя Х.З.
Короче просто выложите, и напишите в каких полях что надо модифицировать.
17. De-Luxis - 21 Ноября, 2011 - 17:33:01 - перейти к сообщению
если все теги удалить, то:
strip_tags()

в итоге так:
PHP:
скопировать код в буфер обмена
  1.  
  2. // подключаем базу и прочие настройки.
  3. include_once 'conf.php';
  4.  
  5. $res = mysql_query('SELECT `id`, `extended` FROM `my_table` ORDER BY `id` DESC');
  6. while ($row = mysql_fetch_assoc($res))
  7. {
  8.          $new_extended =  strip_tags($row['extended']);
  9.  
  10.          mysql_query("UPDATE `my_table` SET `extended` = '{$new_extended}' WHERE id = '{$row['id']}' LIMIT 1");
  11. }
  12.  
  13.  
18. mr.cheese - 21 Ноября, 2011 - 17:55:32 - перейти к сообщению
De-Luxis пишет:
если все теги удалить, то:
strip_tags()

в итоге так:
PHP:
скопировать код в буфер обмена
  1.  
  2. // подключаем базу и прочие настройки.
  3. include_once 'conf.php';
  4.  
  5. $res = mysql_query('SELECT `id`, `extended` FROM `my_table` ORDER BY `id` DESC');
  6. while ($row = mysql_fetch_assoc($res))
  7. {
  8.          $new_extended =  strip_tags($row['extended']);
  9.  
  10.          mysql_query("UPDATE `my_table` SET `extended` = '{$new_extended}' WHERE id = '{$row['id']}' LIMIT 1");
  11. }
  12.  
  13.  


спасибо, но не все таги, не спроста я сюда регулярку приплел.

регулярка кстати гуд работает, кладется на фазе UPDATE
(Добавление)
Bio man пишет:
PHP:
скопировать код в буфер обмена
  1. $query = "PREPARE `update` FROM
  2.                         'UPDATE `my_table` SET `extended`=? WHERE `id`=?'";
  3. while ($data = mysql_fetch_array ($te)){
  4.         $data['extended'] = preg_replace("#(?<=<h1)(.*)>(.*)(?=</h1>)#i", "", $data['extended']);
  5.         echo "<br>";
  6.         echo $data['id'];
  7.         mysql_query("SET @`extended` = '{$data['extended']}'");
  8.         mysql_query("SET @`id` = {$data['id']}");
  9.         mysql_query("EXECUTE `update` USING @`extended`, @`id`") or die(mysql_error());
  10. }

попробуй так, нагрузка меньше будет на MySQL


попробывал
вылетело сразу на первом UPDATE
PHP:
скопировать код в буфер обмена
  1. Unknown prepared statement handler (extended) given to EXECUTE
5

дело не в нагрузке, в некоторых стадиях выполняет и по 1000++ изменений, до ошибки
вопще мистика, какое дело ему, что update ить?
(Добавление)
tuareg пишет:
Структуру выложите, такое ощущение, что id почему-то не число ' WHERE id='6929'' at line 1
или кавычка лишняя Х.З.
Короче просто выложите, и напишите в каких полях что надо модифицировать.


id числовые, extended - текст с тегами.
PHP:
скопировать код в буфер обмена
  1.  
  2. 3164
  3. 3163
  4. 3162
  5. 3161
  6. 3160
  7. 3159
  8. 3158
  9. 3157
  10. 3156
  11. 3155
  12. 3154You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ектаў нерухомасці.
  13.  
  14. Самымі дарагімі ' at line 1
  15.  
  16.  
  17.  

вот пример выполнения, причем до id 3154 update все отлично

если вручную, удалить из базы extended с id 3154, то продлолжает дальше работать до следующего вылета....

на крайняк остается вариант ручного напилинга, с подгоном LIMIT Растерялся
(Добавление)
Джедаи
ребят, зараннее спасибо всем за активную помощь новичку!
19. mr.cheese - 21 Ноября, 2011 - 20:01:50 - перейти к сообщению
есть годные предложения?
20. Мелкий - 21 Ноября, 2011 - 20:24:36 - перейти к сообщению
Экранируйте, в конце концов, данные перед вставкой. Текст, всё-таки, вставляете, или что?
21. mr.cheese - 21 Ноября, 2011 - 20:34:09 - перейти к сообщению
Мелкий пишет:
Экранируйте, в конце концов, данные перед вставкой. Текст, всё-таки, вставляете, или что?


extended в текстовом...
22. Bio man - 21 Ноября, 2011 - 21:31:40 - перейти к сообщению
mr.cheese, ну так экранируй его! $data['extended'] = mysql_real_escape_string($data['extended']);
23. mr.cheese - 22 Ноября, 2011 - 08:24:22 - перейти к сообщению
Bio man пишет:
mr.cheese, ну так экранируй его! $data['extended'] = mysql_real_escape_string($data['extended']);


вот это совет!)) спасиб большое!


задача выполненна, были еще нюансы с execution time, ну эт формальности!

постараюсь всем отписавшимся раздать + Радость
(Добавление)
mr.cheese пишет:
Bio man пишет:
mr.cheese, ну так экранируй его! $data['extended'] = mysql_real_escape_string($data['extended']);


вот это совет!)) спасиб большое!


задача выполненна, были еще нюансы с execution time, ну эт формальности!

постараюсь всем отписавшимся раздать + Радость


правда придется немного флудить Хорошо

 

Powered by ExBB FM 1.0 RC1