|
|
|
| в mysql-базе в некоторых текстовых ячейках есть кавычки. одинарные прямые и обратные. (вообще вводимые данные у меня обрабатываются функцией htmlsprcialchars, но видимо кавычки остались с тех времен, когда эта функция не использовалась. либо имеются ошибки в php). ошибок при работе сайта это вроде бы не вызывает, но возникают проблемы при импорте-экспорте.
можно ли их как-то убить одним-двумя запросами? | |
|
|
|
|
|
|
|
для: irr
(27.01.2007 в 09:15)
| | Можно. Но лучше поправить ваш собственный код, так как он обрабатывает кавычки неправильно, в отличие от кода вашего предшественника. | |
|
|
|
|
|
|
|
для: Loki
(27.01.2007 в 11:48)
| | >Можно.
Одним двумя запросами? Во всех полях всех таблиц? Сомневаюсь.
>Но лучше поправить ваш собственный код, так как он обрабатывает кавычки неправильно, в отличие от кода вашего предшественника.
+1 | |
|
|
|
|
|
|
|
для: Trianon
(27.01.2007 в 11:58)
| | >Одним двумя запросами? Во всех полях всех таблиц? Сомневаюсь.
я почти уверен что речь идет об 1-2 табвлицах с парой текстовых полей | |
|
|
|
|
|
|
|
для: Loki
(27.01.2007 в 16:53)
| | Да что теперь говорить... Мастер-класс по изврату уже показан... | |
|
|
|
|
|
|
|
для: irr
(27.01.2007 в 09:15)
| | А чем экспортируете? Обычно не возникает проблем... | |
|
|
|
|
|
|
|
для: 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 в 09:15)
| | в общем, кое-как разобрался! мой код только все испортил, а проблему не решил. пришлось возвращать назад функцией html_entity_decode.
а ларчик открывался вот как. внутри ячеек у меня встречались одинарные кавычки не с кодом 039, а с кодом 146. отображаются одинаково, а суть разная. поэтому ошибок при работе с базой и не возникало. но! когда я экспортированную базу пытался восстановить у себя на компе, то предварительно файл с дампом я делил на несколько частей во встроенном редакторе фар-менеджера. а тот при копировании-вставке сам заменял кавычку с кодом 146 на номер 039. вот откуда они у меня и образовывались. : ) | |
|
|
|
|
|
|
|
для: irr
(27.01.2007 в 19:33)
| | значит и код вашего предшественника тоже был с ошибкой. | |
|
|
|
|
|
|
|
для: Loki
(27.01.2007 в 19:44)
| | Я бы не стал так голословно... Это лишь в том случае, если этот код занимался заменой символов.... | |
|
|
|
|
|
|
|
для: irr
(27.01.2007 в 19:33)
| | А не проще ли лечить больное место, а не здоровое?
Может быть, имеет смысл просто залить на хост прямой phpMyAdmin?
Уж коль скоро он Вам нормально экспортировать данные не дает?
Или какой-либо из дамперов, если полная функциональность может стать источником неприятностей? | |
|
|
|