Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как избавиться от кавычек в базе?
 
 автор: irr   (27.01.2007 в 09:15)   письмо автору
 
 

в mysql-базе в некоторых текстовых ячейках есть кавычки. одинарные прямые и обратные. (вообще вводимые данные у меня обрабатываются функцией htmlsprcialchars, но видимо кавычки остались с тех времен, когда эта функция не использовалась. либо имеются ошибки в php). ошибок при работе сайта это вроде бы не вызывает, но возникают проблемы при импорте-экспорте.

можно ли их как-то убить одним-двумя запросами?

   
 
 автор: Loki   (27.01.2007 в 11:48)   письмо автору
 
   для: irr   (27.01.2007 в 09:15)
 

Можно. Но лучше поправить ваш собственный код, так как он обрабатывает кавычки неправильно, в отличие от кода вашего предшественника.

   
 
 автор: Trianon   (27.01.2007 в 11:58)   письмо автору
 
   для: Loki   (27.01.2007 в 11:48)
 

>Можно.
Одним двумя запросами? Во всех полях всех таблиц? Сомневаюсь.

>Но лучше поправить ваш собственный код, так как он обрабатывает кавычки неправильно, в отличие от кода вашего предшественника.
+1

   
 
 автор: Loki   (27.01.2007 в 16:53)   письмо автору
 
   для: Trianon   (27.01.2007 в 11:58)
 

>Одним двумя запросами? Во всех полях всех таблиц? Сомневаюсь.
я почти уверен что речь идет об 1-2 табвлицах с парой текстовых полей

   
 
 автор: Trianon   (27.01.2007 в 16:58)   письмо автору
 
   для: Loki   (27.01.2007 в 16:53)
 

Да что теперь говорить... Мастер-класс по изврату уже показан...

   
 
 автор: cheops   (27.01.2007 в 12:19)   письмо автору
 
   для: irr   (27.01.2007 в 09:15)
 

А чем экспортируете? Обычно не возникает проблем...

   
 
 автор: irr   (27.01.2007 в 15:09)   письмо автору
 
   для: cheops   (27.01.2007 в 12:19)
 

phpMyAdmin... вообще он у них на хостинге еще глючит, я жаловался в службу поддержки - никакой положительной реакции.

в общем, не знаю как в 2 строчки, но за 10 получилось. правда, только с прямыми одинарными. но это уже хорошо.


<?php
$query
="SELECT id, message FROM allblog ORDER BY id";
$result=mysql_query($query);
$number=mysql_num_rows($result);

for (
$i=0$i<$number$i++)
$id=mysql_result($result,$i,"id");
  
$message=htmlspecialchars(mysql_result($result,$i,"message"), ENT_QUOTES);
  
$query2="UPDATE allblog SET message='$message' WHERE id='$id'";
  
$result2=mysql_query($query2);
}
?>

   
 
 автор: irr   (27.01.2007 в 19:33)   письмо автору
 
   для: irr   (27.01.2007 в 09:15)
 

в общем, кое-как разобрался! мой код только все испортил, а проблему не решил. пришлось возвращать назад функцией html_entity_decode.

а ларчик открывался вот как. внутри ячеек у меня встречались одинарные кавычки не с кодом 039, а с кодом 146. отображаются одинаково, а суть разная. поэтому ошибок при работе с базой и не возникало. но! когда я экспортированную базу пытался восстановить у себя на компе, то предварительно файл с дампом я делил на несколько частей во встроенном редакторе фар-менеджера. а тот при копировании-вставке сам заменял кавычку с кодом 146 на номер 039. вот откуда они у меня и образовывались. : )

   
 
 автор: Loki   (27.01.2007 в 19:44)   письмо автору
 
   для: irr   (27.01.2007 в 19:33)
 

значит и код вашего предшественника тоже был с ошибкой.

   
 
 автор: Trianon   (27.01.2007 в 19:48)   письмо автору
 
   для: Loki   (27.01.2007 в 19:44)
 

Я бы не стал так голословно... Это лишь в том случае, если этот код занимался заменой символов....

   
 
 автор: Trianon   (27.01.2007 в 19:46)   письмо автору
 
   для: irr   (27.01.2007 в 19:33)
 

А не проще ли лечить больное место, а не здоровое?
Может быть, имеет смысл просто залить на хост прямой phpMyAdmin?
Уж коль скоро он Вам нормально экспортировать данные не дает?
Или какой-либо из дамперов, если полная функциональность может стать источником неприятностей?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования