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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Упорядочить мысли и код [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: нужен help!
tuareg
Отправлено: 21 Ноября, 2011 - 17:28:31
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Структуру выложите, такое ощущение, что id почему-то не число ' WHERE id='6929'' at line 1
или кавычка лишняя Х.З.
Короче просто выложите, и напишите в каких полях что надо модифицировать.
 
 Top
De-Luxis
Отправлено: 21 Ноября, 2011 - 17:33:01
Post Id



Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Янв. 2009  


Помог: 1 раз(а)




если все теги удалить, то:
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.  
 
 Top
mr.cheese
Отправлено: 21 Ноября, 2011 - 17:55:32
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




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 Растерялся
(Добавление)
Джедаи
ребят, зараннее спасибо всем за активную помощь новичку!
 
 Top
mr.cheese
Отправлено: 21 Ноября, 2011 - 20:01:50
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




есть годные предложения?
 
 Top
Мелкий Супермодератор
Отправлено: 21 Ноября, 2011 - 20:24:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Экранируйте, в конце концов, данные перед вставкой. Текст, всё-таки, вставляете, или что?


-----
PostgreSQL DBA
 
 Top
mr.cheese
Отправлено: 21 Ноября, 2011 - 20:34:09
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Мелкий пишет:
Экранируйте, в конце концов, данные перед вставкой. Текст, всё-таки, вставляете, или что?


extended в текстовом...
 
 Top
Bio man
Отправлено: 21 Ноября, 2011 - 21:31:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




mr.cheese, ну так экранируй его! $data['extended'] = mysql_real_escape_string($data['extended']);
 
 Top
mr.cheese
Отправлено: 22 Ноября, 2011 - 08:24:22
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




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, ну эт формальности!

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


правда придется немного флудить Хорошо
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB