Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Почему принято имена полей и таблиц завкочать в обратный опостраф?
Форумы портала PHP.SU » » Работа с СУБД » Почему принято имена полей и таблиц завкочать в обратный опостраф?

Страниц (1): [1]
 

1. shum0531 - 19 Декабря, 2015 - 09:14:09 - перейти к сообщению
Делаю небольшую обертку для pdo.
Где-то ранее в просторах интернета прочитал, что php драйвер mysql базы воспринимает обратный и обычный опостраф как одно и тоже. Правда ли это, можно узнать только посмотрев исходный код драйвера. Только вот я си не знаю.
На данный момент в моей обертке парсится sql, находит имена полей и имена таблиц и обрамляет их методом pdo::quote(), если в именах полей отсутствует имя таблици через точку то добовляет. При работе с mysql обромляется обычным опострафом. Остальной функционал не имеет отношение к данному вопросу.
Вопрос.
Есть ли что-нибудь критичного в данном подходе? Или же лучше жёстко обреблять обратным опострофом, тогда почему?
2. Мелкий - 19 Декабря, 2015 - 09:34:20 - перейти к сообщению
shum0531 пишет:
На данный момент в моей обертке парсится sql

Зачем?

shum0531 пишет:
обратный и обычный опостраф как одно и тоже

Во-первых, апостроф.
Во-вторых, для ясности в терминологии: ` - машинописный обратный апостроф, ' - машинописный апостроф.
Нет, ' и ` - разные вещи. Если вы имена полей обрамляете в ' - то это должна быть ошибка парсера mysql.
` и " - в зависимости от sql_mode. Для ANSI_QUOTES - одно и то же. http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]en/sql-mode[dot]html

shum0531 пишет:
Почему принято имена полей и таблиц завкочать в обратный опостраф?

Чтобы не напороться на зарезервированные слова, плюс расширяет список пригодных к использованию символов в именах сущностей.
3. shum0531 - 19 Декабря, 2015 - 10:33:08 - перейти к сообщению
Мелкий, спасибо за док ссылку и исчерпывающий ответ.

 

Powered by ExBB FM 1.0 RC1