@MKQ1220 например. Берём модуль с форума
https://community.bablosoft.com/topic/20985/crypto-модуль-с-криптографическими-функциями
Берём берём какой нибудь ключ. Читаем файл и шифруем его например алгоритмом aes. На выходе у нас шифрование данные. Все, можем размещать их хоть на гитхабе, хоть на хостинге, хоть в комментарии ВКонтакте. При старте работы защищённого скрипта, куда заведомо вписали наш ключ, начинаем подгружать эти данные и расшифровывать тем же модулем.
Как в SQL сделать сразу несколько запросов в одном действии
-
@Bigma то есть если сделать 2 действия выполнить запрос, и туда вбить по очереди:
- SELECT * FROM
KUKILIMIT 1;
а во второе - DELETE FROM KUKI LIMIT 1;
Вот как это выглядит: https://prnt.sc/1zl2lps
То всё работает, без каких либо проблем.
А вот если эти две строки вбить в одно действие(https://prnt.sc/1zl2pwm) - то даёт ошибку:
[917526596] [22:50:32] Поток №1 : SequelizeDatabaseError: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE FROM KUKI LIMIT 1' at line 2Я не понимаю, что я один на всём форуме попытался два запроса сразу впихнуть? )
- SELECT * FROM
-
Вы отладку sql включили? Кроме вас ваши скриншоты никто не видит, загрузите или на форум или в паблик источник
-
-
@Bigma ох, почему вы акцентируете внимание на запросах? Они по отдельности проходят - значит они правильные (как мне кажется).
Если вписать например так:


то есть самый типовой запрос -

то выдаст ровно такую же ошибку.
Отладку сейчас сейчас скину, но не понимаю причём тут она. -
@Shogo Я акцентирую потому, что не вижу пока, то что в итоге посылает модуль. Для этого нужно перед запросом добавить кубик включить отладку . В логи после этого будешь видеть что посылает бас. Вероятно вырезается точка с запятой, в таком случае и мускуль так же тебя пошлет. Как нормализует запросы пхп май админ я не в курсе.
-
Предполагаю, что так и задуманно, так как ответ то надо получить для каждого запроса. А переменная одна.
-
Делай по одному, по хорошему то все равно проверять надо прошел запрос или нет. Вдруг база отвалилась или сеть легла...
-
Как вариант сделай поле Лок. И сразу за селектом делай запись в лок, а дальше хоть вечность над ней трудись, другие не тронут, потому что Лок.
Точнее наоборот - сначало лок
-
@Shogo said in Как в SQL сделать сразу несколько запросов в одном действии:
@Bigma вы опять о том же - пример для того чтобы максимально упросить запрос, напиши я сложный - вариантов дискуссии было бы больше, а пришло бы к тому же - что там доли секунды )
Если что-то работает не как ожидается, то ищется
work around. В случае с select и потом delete он есть. Я не уверен, что нет универсального обходного пути на "ну непременно хочу делать два запроса сразу". Ну не работает оно вот как ты хочешь.
Вариантов тут два:- бить запросы по одному
- биться головой об стенку почему не работает, как тебе хочется
Если нужна какая-то консистентность запросов, есть транзакции. Все равно в пачке запросов, что идут друг за другом, нет никаких гарантий. А в транзакциях есть.
Есть еще вариант хранимых процедур на стороне движка базы данных, тогда дергание чего-то в запросе это одна строчка, а под капотом целая бизнес логика может быть.



