НШ
Наталья Шолохова

Вопрос про экранирование mysql+php

Меня давно уже мучает вопрос.. . Нужно ли экранировать символы: "%" и "_" при записи в базу? Я использую функцию mysql_real_escape_string(), но она не экранирует эти символы.. . Поэтому решил сделать это ручками, и просто заменяю "_" на "\_"...

В базу пишу, все хорошо, но при выводе слеши остаются.. . И мне приходится делать обратное действие "\_" на "_"...

Честно, бесит.. . И вот думаю, а на фига их экранировать?

Кто чем поделится? Заранее спасибо!

ГГ
Григорий Гридин

не нужно
p.s. mysql давно усторело - учи сразу mysqli или pdo инструмент работы с базой

ТК
Татьяна Корягина

Многие обладатели домашних страничек рано или поздно начинают интересоваться устройством крупных новостных порталов и контент-проектов - не вручную же они ве эти страницы делают! А как тогда? Данная статья поможет начинающему веб-мастеру начать создание проектов с применением PHP-MySQL.

Один из самых часто задаваемых вопросов начинающих веб-мастеров: как начать работать с базами данных MySQL, используюя скрипты на PHP? Это неудивительно, потому что эра статических HTML-сайтов давно прошла (на "Народе" это любимое народом дело процветает 🙂 и теперь более-менее грамотные начинающие веб-мастера осознали удобство и комфорт создания и поддержания контент проектов на основе PHP-MySQL. Скептики и консерваторы будут утверждать, что работать с файлами проще, что легче наверстать страничку вручную, чем тратить время на отладку и написание скриптов. Не слушайте их - это абсурд! Как говорится "Лучше день потерять потом за 5 минут долететь! ". Ну допустим, на подготовку и создание динамической версии сайта на основе PHP-MySQL уходит раза в два-три больше времени, а то и больше, но зато поддержка проекта в будущем покажется вам приятным и простым занятием (конечно, настолько, насколько серьёзно вы к этому подойдёте) . А почему загибаются казалось бы хорошие статические сайты? Причина всему - рутинные операци по обновлению сайта. Если на PHP-MySQL сайте есть возможность добавлять статьи через форму (копировать, вставить, отправить) , то для добавления статьи на статический сайт нужно намного больше более сложных операций:

Сверстать новую страничку на основе существующего шаблона.
Проверить форматирование, ссылки, картинки, всё ли на месте.
Добавить ссылку на новую страницу где-то ещё (а то и на несколько!) , например в раздел "Статьи".
Проверить, как всё это работает целиком.
Соединиться с сервером FTP.
Закачать все обновлённые страницы на сервер.
Проверить, всё ли работает в онлайне.
Вот почему многие бросают любимое занятие. Ну есть конечно некоторые усердные личности, которые годами поддерживают такие сайты. А есть и умельцы, которые за пару месяцев разработают БД и PHP-движок и будут жить методом "копировать, вставить, отправить"!

Надеюсь, я привёл достаточные аргументы в пользу динамического сайта. И вот Вася Пупкин решил опробовать себя в этом нелёгком деле, но тут возникает несколько резонных вопросов:

Есть ли у меня PHP?
Есть ли у меня MySQL?
Есть ли у меня вообще сайт? (шутка 🙂
Итак, для создания динамического сайта нам понадобится хостинг с поддержкой PHP и MySQL. Ну здесь я вам не советчик - если вы создаёте серьёзный проект, то лучше немного заплатить, но получить всё и сразу - тогда вам сюда http://hcenter.info. Из бесплатных хостингов PHP и MySQL доступны кажется на Агаве, но я могу ошибаться - тогда поищите в Яндексе "бесплатный хостинг с поддержкой PHP MySQL" или что-то в этом роде.

Пропускаем момент регистрации на хостинге. Теперь вам должны выслать по email письмо с логинами и паролями. Внимательно прочитайте инструкции, посмотрите FAQ на сайте хостинга, если что-то непонятно.

Во-первых, вам необходимо создать новую базу данных на MySQL-сервере. Это очень легко делается при помощи инструментов типа phpMyAdmin или любого графического клиента MySQL - SQLyog, MySQL-Front. На большинстве хостингов это делается при помощи панели управления хостингом - тут я вам не помощник, смотрите сами. Выполните функцию создания новой базы, назвав её например "test".

При помощи одной из указанных выше программ выполните представленный ниже SQL-дамп:

Анастасия
Анастасия

Если будешь обращаться напрямую, в любом случае mysql будет думать, что это часть спец символы.
Если будешь создавать, например, временные таблицы, то колонки тоже обзывай не count(vg.id), а придумай другое название, тоже подумает, что это не аргумент.

Похожие вопросы
Поиск в базе MySQL PHP
где можно потренироваться HTML PHP MYSQL
Полнотекстовый поиск в MySQL PHP
Помогите с PHP и MySQL
Вопрос по MySQL и PHP - вывод данных
Вопрос по php с mysql
Помошь по php и mysql
Проблема с PHP и MySQL
Для специалистов PHP+MySQL
PHP & MYSQL кодировка