Aisamiery

Aisamiery
Рейтинг
319
Регистрация
12.04.2015
jmas:
Спасибо, подскажите, у вас есть примеры проектов сделанных на тильде для заказчиков?

У тильды есть аж целый раздел примеров работ

---------- Добавлено 20.04.2020 в 14:40 ----------

jmas:
Насколько я понял, Тильда сейчас на коне, хочется понимать почему?

Он удобный прежде всего. И я много взаимодействовал с ним, скажу что сделать там можно действительно многое.

Фергас:
Hot link protection помешает. Парсеры эффективны пока про них не знают.

Браузер пользователя точно такой же парсер. Если ваш сайт открывается в браузере, значит и выкачается любым парсером, неужели вы этого не понимаете? Вам объясняют что Hot link protection защищает от прямой вставки ссылки на файлы и работает по принципу referer заголовка. Парсерам пофигу, они могут отправлять любые заголовки с любым нужным вашей защите содержанием и в большинстве случаев они уже давно эмулируют работу браузеров передавая все легитимные заголовки.

Так как вы хотите сделать вряд ли возможно. Центр сертификации должен как то проверить что домен принадлежит вам, LE обычно проверяет тем, что выдача сертификата происходит с того же ip, куда и ссылается домен (возможно есть другой вариант валидации) А так можете заказать коммерческий сертификат, стоит не дорого до 1000р в год (у 1cloud есть сертификаты по 550р в год), проверка через почту.

Вообще не понятно что вы хотите.

Сформулируйте ваш вопрос по точнее. НЕ совсем понятно при чем тут сортировка, если вы говорите про условие выборки:

Объекты (строки) опубликованные в промежуток 1-2 года назад

И что вы хотите получить этим выражением?

IF(`obj_price1`!='',1,0) || IF(`obj_price2`!='',1,0) DESC

У IF есть конкретное описание


IF(expr1,expr2,expr3)
Если expr1 равно значению ИСТИНА (expr1 <> 0 и expr1 <> NULL), то функция IF() возвращает expr2, в противном случае - expr3.

В текущем варианте получается что то типа

1 || 1 DESC

А в вашем варианте вы вообще опустили expr2 и expr3

ivan-lev, что вы уперлись в мультизапросы и драйвера

Вот вам ссылочка

Где написано:

The queries shown thus far have been relatively short, single-line statements. You can even enter multiple statements on a single line. Just end each one with a semicolon:

и дан пример


mysql> SELECT VERSION(); SELECT NOW();
+-----------+
| VERSION() |
+-----------+
| 8.0.13 |
+-----------+
1 row in set (0.00 sec)

+---------------------+
| NOW() |
+---------------------+
| 2018-08-24 00:56:40 |
+---------------------+
1 row in set (0.00 sec)

Вы же даете на апи языка C, я не спорю с вами что есть такие функции и не спорю что они нужны, если нужно правильно обработать возвращаемое значение. Но такой задачи не ставил ТС, прочитайте внимательно стартовое сообщение. И для того, чтобы выполнить 2 запроса не нужно никаких специальных параметров и подключений.

Вот тут тоже объясняется что делает точка с запятой

Semicolon is the standard way to separate each SQL statement in database systems that allow more than one SQL statement to be executed in the same call to the server.

В драйверах требуется специальный флаг, для того, чтобы по умолчанию предотвратить SQL Injection, для самого синтаксического анализатора не нужны никакие флаги, он свободно обработает запросы разделенные точкой запятой.

iworkshop:
Это зависит от того, какой драйвер БД использует DLE,

Вы слишком далеко копаете. Вот лично я не стал вникать что использует ТС и для чего ему это, а ответил сразу на ряд вопросов в том числе и транзакции, так как не совсем было понятно что ТС хочет. На что ТС сказал спасибо и что это действительно работает.

Зачем тут начали копать про PHP, DLE и вообще всю эту бесполезную демагогию - непонятно. Я привёл коня в вакуме на php чисто потому, что это для меня основной ЯП и мне привычнее написать в его синтаксисе, я мог так же написать коня в вакуме в таком синтаксисе:


connection.query("INSERT INTO one... ; INSERT INTO two", handler);

Ведь прежде всего этот синтаксис поддерживается именно сервером БД, а кто его туда протолкнёт вопрос уже вторичен. Я же отвечал по стандартному SQL синтаксису, я не гадаю на кофейной гуще что там у людей за бэкграунд и в каких условиях что надо использовать. (PS DLE даже в глаза не видел, а ТС может юзает mysql из консоли)

Sitealert, чушь какую то несёте невнятную, какие то cms, какие то ожидания от двух инсертов. Если вы вставите в mysqli::query два insert запроса через точку с запятой, вы получите именно то что ожидаете.

вот вам ссылка на ваши мультизапросы

И описания к ним:

Отдельные SQL-предложения в мультизапросе отделяются точкой с запятой.

Это то что я и сказал.

И там же приписка:

Отдельная API-функция для мультизапросов позволяет снизить вероятность случайных SQL-инъекций.

И это вся разница, ну и более адекватные результаты можно получить, но это при select, при инсертах всё равно по сути

Sitealert:
Это смотря по тому, что и как должно работать. Как отметил ivan-lev, для мультизапроса предусмотрена специальная функция,

Вы где то у ТС нашли описание ЯП? Мультизапрос? У ТС в стартовом посте просто 2 SQL запроса, которые любой клиент БД может передать за раз если между ними стоит ; представим что ТС использует консольную утилиту mysql, о каких функциях мультизапроса речь?

Sitealert:
а тот вариант, который написал Aisamiery, работать не должен. Метод query поддерживает только один запрос.

извините, метод query чего поддерживает только один запрос? Я привел пример абстрактный коня в вакууме как передать 2 запроса за один вызов, если мы возьмем абстрактно какой то вызов единственного запроса который возвращает результат, то всё равно метод будет работать, только вернёт (скорее всего) результат последнего запроса.

Какую цель преследуете?

Два инсерта в разные таблицы не выполнить одним инсертом, по крайней мере я никогда не встречал и не интересовался.

А передать 2 запроса в БД одной командой можно поставив просто ; (точку с запятой) между ними.

например

$db->query("INSERT INTO one ... ; INSERT INTO two");

Если вы хотите чтобы выполнились или оба или не один, то для этого есть механизм транзакций.

Ну так дреавьювером и воспользуйтесь.

Сейчас такие инструменты ушли в конструкторы, либо больше к профессиональным. Как то пласт середнечка чего то между просто дрейфует никому не нужным.

Я (как разработчик) посадил бы минимум на pug с деплоем на netlify. Можно было бы сделать на next.js / nuxt.js.

Всего: 4110