Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240

Правила оформления длинных запросов

12.02.2016, 18:38. Показов 3002. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. При создании записей в БД часто получаются длинные запросы вида
PHP
1
$db->query("INSERT INTO `pages` (title,text,html,noindex,date,author)VALUES ('".mysqli_real_escape_string($db, $static_page_title)."','".mysqli_real_escape_string($db, $static_page_text)."','".mysqli_real_escape_string($db, $onlyhtml)."','".mysqli_real_escape_string($db, $noindex)."','".time()."','".$uid."')");
Как правильно оформлять такой код? Есть ли какой-то стандарт?
В мыслях только переносить новые значения на новую строку вроде
PHP
1
2
3
4
5
6
7
8
$db->query("INSERT INTO `pages` (title,text,html,noindex,date,author)VALUES
(
'".mysqli_real_escape_string($db, $static_page_title)."',
'".mysqli_real_escape_string($db, $static_page_text)."',
'".mysqli_real_escape_string($db, $onlyhtml)."',
'".mysqli_real_escape_string($db, $noindex)."',
'".time()."','".$uid."'
)");
Тогда впринципе очень удобно становится читать и вносить правки и вообще мне кажется что с точки зрения семантики это делает код более логичным и предсказуемым.

Но порывшись в рамблере конечно же ничего не нашёл на этот счёт(иначе я не создал бы этот пост).

Так вот, я был бы благодарен за информацию по правильному оформлению кода в таких случаях.
В идеале конечно же назвать стандарт оформления и подкрепить ссылкой.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.02.2016, 18:38
Ответы с готовыми решениями:

Правила оформления кодов ошибок
Добрый день! Хотелось бы услышать мнение коллег, по поводу нумерации ошибок в проектах. Изначально любой проект строю по...

Правила оформления кода
Здравствуйте. Что то порылся в поиске и не нашел. Подскажите статьи, литературу, где грамотные советы даются о том как правильно оформить...

Правила оформления комментариев
Скажите,пожалуйста,считается ли плохим тоном писать комментарии так: /*Создать объект класса Текстовый файл, используя классы Файл,...

16
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.02.2016, 18:45
Цитата Сообщение от AlexBitard Посмотреть сообщение
Так вот, я был бы благодарен за информацию по правильному оформлению кода в таких случаях.
http://php.net/manual/ru/mysqli.prepare.php
0
5 / 6 / 3
Регистрация: 02.02.2014
Сообщений: 171
12.02.2016, 18:49
Есть одно небольшое правило насчет ковычек.Двойные кавыки обрабатываются дольше чем одинарные.Я стараюсь где есть возможность использовать одинарные.Когда сервер читает скрипт в двойных кавычках,он сперва ищет разные спецсимолы.
0
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
12.02.2016, 19:01  [ТС]
Jewbacabra, Совсем не то о чём я спрашивал, перечитайте топик.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
12.02.2016, 19:06
Такой код не надо оформлять, надо переделывать... один раз заполняете массив названиями полей, затем в цикле подставляете в запрос названия полей и значения.
0
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
13.02.2016, 13:23  [ТС]
Jodah, Было бы не плохо если бы вы почитали о низкоуровневых составлениях запросов и о том для чего вообще существуют запросы такого вида.

Ну а я всё ещё жду адекватных ответов. Ваши высказывания мне мало интересны, а вот за информацию по правильному оформлению кода буду благодарен.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
13.02.2016, 14:32
Цитата Сообщение от AlexBitard Посмотреть сообщение
Было бы не плохо если бы вы почитали о низкоуровневых составлениях запросов и о том для чего вообще существуют запросы такого вида.
Какие-то понты в никуда... составлять запросы вручную есть смысл, когда они слишком сложны, чтобы пытаться их структурировать. Например, когда в запросе несколько таблиц или внутри есть подзапросы. А у вас запрос совсем обычного вида, перечисление полей и значений, проще некуда.

Цитата Сообщение от AlexBitard Посмотреть сообщение
Ну а я всё ещё жду адекватных ответов.
Так перестаньте искать в рамблере перечитайте тему, вам уже 2 варианта показали, как можно адекватно оформить код. Если так хочется городить простыню из простейшего SQL-запроса - пожалуйста, только не надо жаловаться, что у участников форума нет желания помогать вам в составлении кривых решений.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
13.02.2016, 14:43
Лучший ответ Сообщение было отмечено AlexBitard как решение

Решение

Цитата Сообщение от AlexBitard Посмотреть сообщение
всё ещё жду адекватных ответов
Знать бы еще, что вы подразумеваете под "адекватным ответом"... Ну, может это короткое обсуждение, в котором так же упоминается о том, что как таковых стандартов нет, внесет какую-то долю адекватности.
Цитата Сообщение от AlexBitard Посмотреть сообщение
с точки зрения семантики это делает код более логичным и предсказуемым
О какой логике мы говорим? И в чем предсказуемость? Ваша предсказуемость, как программиста или предсказуемость результата, полученного в ходе запроса? На мой личный взгляд, то Jewbacabra предложил вам вполне адекватный вариант. Вместо того, чтобы писать гирлянды с использованием mysqli_real_escape_string, лучше использовать подготовленные запросы. А если работать с PDO, где есть возможность использовать именованные плейсхолдеры, то строка запроса становится самой "логичной и предсказуемой" ( это ж надо было такие термины сюда прикрутить? )
1
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
13.02.2016, 16:08  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
может это короткое обсуждение, в котором так же упоминается о том, что как таковых стандартов нет, внесет какую-то долю адекватности
Да. Именно такого ответа я и ждал и не хотел увидеть. А жаль.
Но это то что нужно. Я просто хотел понять есть ли правила оформления длинных запросов.
Теперь я знаю что правил нет. А жаль. Прийдётся договариваться о правилах лично с каждым человеком работающим с кодом такого вида.

Цитата Сообщение от Lazy_Den Посмотреть сообщение
О какой логике мы говорим?
Я же написал что это суждение с точки зрения семантики.
Если кто-то тут на столько мерзкий быдлан (я не о вас, приятель, вы мне наобарот приятны на этом форуме) что думает что мои слова это
Цитата Сообщение от Jodah Посмотреть сообщение
Какие-то понты в никуда...
, и привык быдло сленгу на столько что даже гуглить разучился, я объясню проще.

Если вы видите знак ; то Вы с уверенностью можете сказать что это конец строки.
Разве нет (конечно если он не закомментирован или не в кавычках и т.д.)?
PHP
1
2
3
4
5
6
7
echo
 
'Чего-то я тут'.
 
'пишу. Длинное и многострочное'
 
;
И посмотрев на точку с запятой вы знаете что строка закончена.

Или например если вы видите ?> при определённых условиях (не в скобках, не закомментированным...) то Вы понимаете что это конец php сценария.

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

А вам
Цитата Сообщение от Jodah Посмотреть сообщение
составлять запросы вручную есть смысл, когда они слишком сложны, чтобы пытаться их структурировать. Например, когда в запросе несколько таблиц или внутри есть подзапросы. А у вас запрос совсем обычного вида, перечисление полей и значений, проще некуда.

Если так хочется городить простыню из простейшего SQL-запроса - пожалуйста, только не надо жаловаться, что у участников форума нет желания помогать вам в составлении кривых решений.
Я бы хотел напомнить о том, что помогать или не помогать - ваш личный выбор.
Если вы считаете меня выскочкой и дураком, можете не отвечать в этой теме вообще.
Вы только с толку сбиваете. Вместо того что бы писать очевидные вещи, лучше бы дали ответ на заданный мной вопрос. Тот же Lazy_Den хоть и посмеялся надо мной, но тут же привёл ссылку которая меня удовлетворила, за что говорю ему спасибо.

А этот пример из топика на то и пример, что бы передать смысл длинного запроса.
На сколько мои запросы сложные, не важно в этом случае. Важно то, что я спросил как оформлять длинные запросы, а Jewbacabra и вы рассказываете мне о подготовленных запросах.

Ну зачем вот мне это знать если я спросил совсем о другом? Или что же, я на столько внушаю вам вид дурочка, что вы думаете я не знаю о подготовленных запросах?

Вам бы понравилось если бы вы пришли в магазин с чёткой целью, за какао-бобами, а вам бы начали предлагать купить шоколад лишь потому, что вам незачем возиться с бобами когда есть готовый продукт и он вкусный и полезный?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
13.02.2016, 16:50
Цитата Сообщение от AlexBitard Посмотреть сообщение
Вместо того что бы писать очевидные вещи
Исходя из вашего нежелания эти вещи принимать и использовать, я сделал логичное предположение, что для вас они не очевидны.
Цитата Сообщение от AlexBitard Посмотреть сообщение
А этот пример из топика на то и пример, что бы передать смысл длинного запроса.
А причём здесь длина запроса? Вопрос в его сложности (а вернее, сложности его передачи в конструктор запросов), а сколько в нём символов, 100 или 1000 - не имеет значения, если он имеет простую структуру, как в вашем случае.

Цитата Сообщение от AlexBitard Посмотреть сообщение
Вам бы понравилось если бы вы пришли в магазин с чёткой целью
Во-первых, мы не в магазине, и увы, я вам ничего не должен, поэтому предоставляю ту информацию, которую считаю нужной.
Во-вторых, зачастую пользователь не может правильно сформулировать вопрос, либо его вопрос исходит из неправильно поставленной задачи, поэтому вполне логично желание участников форума копнуть глубже.

И весьма странно, что вы не смогли нарамблерить информацию по форматированию SQL-запросов...
0
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
13.02.2016, 17:38  [ТС]
Jodah, Да у вас ярко выраженная деменция. Я не шучу. Прочитайте топик и свои ответы.
Вы придумали себе тему и отвечаете на неё.
В моём вопросе было буквально "есть ли правила оформления длинных запросов?"
А вы мне пытаетесь рассказать о том, что "Вопрос в его сложности (а вернее, сложности его передачи в конструктор запросов), а сколько в нём символов, 100 или 1000 - не имеет значения, если он имеет простую структуру, как в вашем случае."

Вы хотя бы понимаете что я у вас не спрашивал об этом?

Не важно какой сложности запрос. Представьте что это что-то вроде
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
    t.field,
    t.field1,
    ...
FROM
    TABLE t INNER JOIN
    table1 t1 ON t1.id = t.id INNER JOIN
    table2 t2 ON t2.id=t1.id
WHERE 
    t.value = 'foo' AND
    t1.value = 'bar'
GROUP BY t.field
ORDER BY t.field
Это не имеет значения. Проблема в том, что он слишком длинный для одной строки.
Вы, приятель, прямо типичный солдат холивара.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
13.02.2016, 18:24
Цитата Сообщение от AlexBitard, Посмотреть сообщение
Да у вас ярко выраженная деменция. Я не шучу.
Я вижу, вам очень нравится вести себя как высокомерный хам, но увы, здесь это никто не оценит. Здесь люди делом занимаются.

Цитата Сообщение от AlexBitard Посмотреть сообщение
В моём вопросе было буквально "есть ли правила оформления длинных запросов?"
Вот ваш вопрос:
Цитата Сообщение от AlexBitard Посмотреть сообщение
часто получаются длинные запросы вида
Цитата Сообщение от AlexBitard Посмотреть сообщение
Как правильно оформлять такой код? Есть ли какой-то стандарт?
Вы показали конкретный код. И спросили, как его оформлять. Вам ответили - использовать плейсхолдеры или перебирать в массиве. Можно ли это назвать оформлением? Вполне. Стандартами? Тоже, поскольку так делает большинство. Так что вы получили конкретные ответы на конкретный вопрос.

В итоге, вопрос вы сформулировали неправильно (даже слово "форматирование" не написали, хотя вам нужно было именно оно), пример показали не подходящий, в итоге получили не то, что хотели. А виноват, конечно, я.

Цитата Сообщение от AlexBitard Посмотреть сообщение
Вы хотя бы понимаете что я у вас не спрашивал об этом?
Надеюсь, теперь вы хотя бы понимаете, что спрашивали вы именно об этом?
0
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
13.02.2016, 18:39  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
Можно ли это назвать оформлением?
Конечно же нельзя. Вы что, не способны отличить оформление от реализации исполнения?
Может вы ещё авторизацию с аутентификацией путаете? Гуглите термины.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
13.02.2016, 18:44
AlexBitard, если смотреть в терминологию - да, понятия разные, но мы на форуме для начинающих, здесь люди сервер с клиентом путают, поэтому слова "оформление" и "стандарт" могут означать что угодно.

В общем, не вижу смысла продолжать этот спор. Удачи вам в оформлении кода.
0
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
13.02.2016, 19:11  [ТС]
Jodah, Спасибо. А вам советую поискать в гуглах "Стандарт оформления PHP кода"
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
14.02.2016, 12:44
AlexBitard, НЕТ ,общих стандартов оформления нет.Пишите хоть в 1 строку все или каждое слово с новой. Однако у каждой компании есть свой стандарт.
PS;А у вас завышенная самооценка, и неуважение к людям которые вам помогают
1
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
14.02.2016, 16:52  [ТС]
maruo, Если бы сразу кто нибудь дал такой ответ, я был бы рад.
Но всё же ещё раз спасибо Lazy_Den'у и вам.

p.s. просто меня изначально не так поняли пара человек, но в итоге мы нашли ответ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2016, 16:52
Помогаю со студенческими работами здесь

Правила оформления кода
Почему рекомендует писать классы и функции следующим образом?(вроде как добавляет лишнюю строку, а удобочитаемости..) class SomeClass :...

Правила оформления кода c++
Приветствую! В общем не редкость встречается, вот такие оформления class SomeClass { private: int _length; ...

Правила оформления программы
Ребята, поделитесь своими фишками\секретами\правилами и т.п. и т.д. при создании проектов. Как вы делаете свою программу более...

Правила оформления схем алгоритмов
...

Правила стилевого оформления документов MS Word
Вот задали самостоятельную работу не пойму ЧТО ОТ МЕНЯ ТРЕБУЕТСЯ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru