Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mysql_escape_string() не срабатывает :( 
V
    Опции темы
kaa
Дата 4.3.2008, 15:29 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: -1
Всего: 2



народ, может кто сталкивался... 

Есть строка:
Код

<p>Что вот этот код делает?</p><pre> $xml_qestions_req="SELECT question_xml FROM ".XML_QUESTIONS_TABLE;<br />        $xml_qestions_req.=' LEFT JOIN '.POPUP_TABLE. ' ON ('.XML_QUESTIONS_TABLE.'.id='.POPUP_TABLE.'.xml_question_id)';<br />        $xml_qestions_req.=' WHERE '.POPUP_TABLE.".session_id LIKE '".$_GET['id']."'";   </pre>


Есть код:
Код

$questionName = mysql_escape_string($questions[$j]["name"]);
$questionType = $questions[$j]["type"];
$questionVisible = $questions[$j]["visible"];
$questionId = null;
$strSql = "INSERT INTO tableName(sid, name, public, type) VALUES(".$seriesId.", '".$questionName."', ".$questionVisible.", '".$questionType."')";
mysql_query($strSql) or die("error15 ".$questionName);


Где $questions[$j]["name"] - содержит данную строку

Так у меня все эти метасимволы преобразуются в нормальные символы неизвестно когда, но известно одно - что mysql_escape_string их не воспринимает :(

Как с этим бороцца?
PM MAIL   Вверх
gta4kv
Дата 4.3.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



А mysql_escape_string() их и не должен воспринимать.

Добавлено @ 16:02
Если я ничего не путаю.

Это сообщение отредактировал(а) gta4kv - 4.3.2008, 16:04
PM MAIL   Вверх
kaa
Дата 4.3.2008, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: -1
Всего: 2



Гм... Так-то оно так, ибо это метасимволы, но, етический дух, они никак нехотят записываться в БД smile  - преобразуются в нормальные: 

<> ' " &

и как это дело обскакать?

PM MAIL   Вверх
GeneralElectric
Дата 4.3.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



найти в своем коде участок, который их преобразовывает.

попробую догадаться.
скорее всего, эту строку содержит не переменная $questions[$j]["name"], а переменная, которая выводит её для редактирования.
потом её содержит форма, потом - массив $_POST, и только после этого $questions[$j]["name"]
А простодушный программист как залудил её в форму - так с тех пор ни разу и не проверил, что она содержит.

И даже задавая свой вопрос на форум, не удосужился просто проверить - что содержится в строке.
PM MAIL   Вверх
kaa
Дата 4.3.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: -1
Всего: 2



GeneralElectric

Всё гораздо проще - это содержимое элемента XML-документа, кторое мне надо загнать в базу и содержится там ровно то что я указал - копипапст рулит smile

Это сообщение отредактировал(а) kaa - 4.3.2008, 16:35
PM MAIL   Вверх
GeneralElectric
Дата 4.3.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Да хоть DOMXMLSUERMARIO документа. Разницы никакой.
Ищи. В своем. Скрипте. Кусок. Который. Преобразует.

Ни база, ни mysql_escape_string здесь не при чем.

Самое главное, что тебе надо научиться сделать - это проверять свои ощущения практикой.
Показалось тебе, что mysql_escape_string преобразует что-то? Взял, вывел результат её работы на экран. 
Показалось, что проверка подтвердила твою догадку - значит, надо догадаться вывести до и после.

то есть, все свои ждогадки проверять экспериментально. 
Этим ты очень поможешь, в первую очередь, себе

PM MAIL   Вверх
kaa
Дата 4.3.2008, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: -1
Всего: 2



На мысль мя однако натолкнул gta4kv...

Код

$questionName = mysql_real_escape_string(htmlspecialchars_decode($questions[$j]["name"], ENT_QUOTES));

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.