Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP и SQL кавычки мешают выполнить запрос к базе / 8 сообщений из 8, страница 1 из 1
22.07.2012, 10:35:15
    #37888234
173148
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и SQL кавычки мешают выполнить запрос к базе
Здравствуйте! Подсткажите как можно избежать проблему. Используя админку для работы с базой sql, столкнулся с такой проблемой: Одинарная кавычка набранная в текстовом поле (textarea), остонавливает выполнение добавления данных в базу.

$query = mysql_query("UPDATE posts SET title = '$title', title_dop = '$title_dop', title_post = '$title_post', data = '$data' WHERE id = '$id'");

Проблема в переменной $data, через нее в команду и передается ковычка.
Как правильно оформить sql-запрос, чтобы символы из находящиеся в переменной $data, взятые из поля data (textarea), не могли повлиять на выполнение команды, а полностью и неизменно поподали в базу sql

Поиском пользовался! Пробовал применить варианты которые находил, но проблема осталась.
Заранее спасибо.
...
Рейтинг: 0 / 0
22.07.2012, 10:44:35
    #37888239
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и SQL кавычки мешают выполнить запрос к базе
mysql_real_escape_string
...
Рейтинг: 0 / 0
22.07.2012, 11:55:23
    #37888259
173148
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и SQL кавычки мешают выполнить запрос к базе
Тоесть если правильно понимаю, до формирования переменной $quwry , нужно с вставить строку в которой будет переформирована переменная $data с использованием mysql_real_escape_string?
Получиться должно что то вроде этого?:

64 ....
65 $data = mysql_real_escape_string('$_POST('data')'); - где $_POST('data') - это откуда получены данные.
66 $query = mysql_query("UPDATE posts SET title = '$title', title_dop = '$title_dop', title_post = '$title_post', data = '$data' WHERE id = '$id'");
67 ....

Этот способ я пробовал. Без написания 65 строки, данные без ковычек, в базу записываются, с кавычками (одинарными), нет. Если я прописываю строку 65 с использованием команды mysql_real_escape_string, не сохраняются ни какие данные.

Может проблемы с синтаксисом при написанием 65-ой строки, может не надо в скобках писать откуда берется переменная data.

Напишите, как можно правильно оформить эти две строки?
...
Рейтинг: 0 / 0
22.07.2012, 12:14:30
    #37888271
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и SQL кавычки мешают выполнить запрос к базе
173148,

Нафига $_POST('data') в одинарные кавычки загнали? С точки зрения php это бред полный.
...
Рейтинг: 0 / 0
22.07.2012, 12:58:20
    #37888283
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и SQL кавычки мешают выполнить запрос к базе
Да и не функция это
Код: php
1.
2.
$data = mysql_real_escape_string($_POST['data']); 
$query = mysql_query("UPDATE posts SET title = '$title', title_dop = '$title_dop', title_post = '$title_post', data = '$data' WHERE id = '$id'");
...
Рейтинг: 0 / 0
22.07.2012, 14:04:39
    #37888305
173148
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и SQL кавычки мешают выполнить запрос к базе
Как правельно?
...
Рейтинг: 0 / 0
22.07.2012, 17:45:53
    #37888377
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и SQL кавычки мешают выполнить запрос к базе
Правильно - почитать хотя бы про основы языка сначала. Про синтаксис, переменные, функции...
...
Рейтинг: 0 / 0
22.07.2012, 21:55:16
    #37888476
173148
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и SQL кавычки мешают выполнить запрос к базе
Огромное спасибо за точный ответ. Как же это я сразу не догадался? На сколько все таки трудно, людям знающим, ответить человеку начинающему. На форумы и обращаются за помощью со стороны более опытных людей, чтобы решить проблему быстрее и доходчивые, чем с помощью литературы.

Всем "огромное" спасибо! Тему можно закрывать, толку то.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP и SQL кавычки мешают выполнить запрос к базе / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]