PHP/MySQL | Вопрос на общее развитие.
Интересные вопрос для меня.
Есть запрос SQL.
По оптимицазит скажу, что $catalog['name'] -> найдет только одну запись, поскольку такой алгоритм. Но не суть, это что бы танком лишний раз не кинули.
Вопрос:
Как пишете вы, именно процедурщики, массив в SQL-запросы?
Тут был всхлип, относительно того, что именнованый массив не нужно писать в одинарных кавычках. Тоесть давят вот на это:
Я, как старый пень, не могу понять зачем? Оно ведь выдаст ошибку, что лучше так не писать.
Вопрос, зачем так писать? (Ведь по логике да, мы уже обернули все в двойные кавычки, что позволяет не выделять переменные, но за массивы я хз. Может я тупой, разжуйте, пожалуйста).
Есть запрос SQL.
("SELECT `id` FROM `post` WHERE `catalog`='".$catalog['name']."'");
По оптимицазит скажу, что $catalog['name'] -> найдет только одну запись, поскольку такой алгоритм. Но не суть, это что бы танком лишний раз не кинули.
Вопрос:
Как пишете вы, именно процедурщики, массив в SQL-запросы?
Тут был всхлип, относительно того, что именнованый массив не нужно писать в одинарных кавычках. Тоесть давят вот на это:
("SELECT `id` FROM `post` WHERE `catalog`='$catalog[name]'");
Я, как старый пень, не могу понять зачем? Оно ведь выдаст ошибку, что лучше так не писать.
Вопрос, зачем так писать? (Ведь по логике да, мы уже обернули все в двойные кавычки, что позволяет не выделять переменные, но за массивы я хз. Может я тупой, разжуйте, пожалуйста).
Тоесть про одинарные кавычки, это я за ключ массива говорил. А не за сам массив.
popka_slonika (19.12.2021 в 10:03)
Интересные вопрос для меня.
Есть запрос SQL.
По оптимицазит скажу, что $catalog['name'] -> найдет только одну запись, поскольку такой алгоритм. Но не суть, это что бы танком лишний раз не кинули.
Вопрос:
Как пишете вы, именно процедурщики, массив в SQL-запросы?
Тут был всхлип, относительно того, что именнованый массив не нужно писать в одинарных кавычках. Тоесть давят вот на это:
Я, как старый пень, не могу понять зачем? Оно ведь выдаст ошибку, что лучше так не писать.
Вопрос, зачем так писать? (Ведь по логике да, мы уже обернули все в двойные кавычки, что позволяет не выделять переменные, но за массивы я хз. Может я тупой, разжуйте, пожалуйста).
Интересные вопрос для меня.
Есть запрос SQL.
("SELECT `id` FROM `post` WHERE `catalog`='".$catalog['name']."'");
По оптимицазит скажу, что $catalog['name'] -> найдет только одну запись, поскольку такой алгоритм. Но не суть, это что бы танком лишний раз не кинули.
Вопрос:
Как пишете вы, именно процедурщики, массив в SQL-запросы?
Тут был всхлип, относительно того, что именнованый массив не нужно писать в одинарных кавычках. Тоесть давят вот на это:
("SELECT `id` FROM `post` WHERE `catalog`='$catalog[name]'");
Я, как старый пень, не могу понять зачем? Оно ведь выдаст ошибку, что лучше так не писать.
Вопрос, зачем так писать? (Ведь по логике да, мы уже обернули все в двойные кавычки, что позволяет не выделять переменные, но за массивы я хз. Может я тупой, разжуйте, пожалуйста).
Потому что пых считает name как константу. Вот весь ответ.
TuT, верно. Потому правильно будет первый вариант из двух.
Люди используют pdo и пишут в итоге catalog =:catalog
jasis (19.12.2021 в 10:26)
Люди используют pdo и пишут в итоге catalog =:catalog
Люди используют pdo и пишут в итоге catalog =:catalog
Мы говорим сейчас о данном случае. Я же указал.
Я же не пишу тут что вообще использую python+sqlite3).
popka_slonika,напиши в ЛС свой телеграм?
popka_slonika, Так же в тором примере SQL injection
TuT (19.12.2021 в 10:36)
popka_slonika, Так же в тором примере SQL injection
popka_slonika, Так же в тором примере SQL injection
Ну тогда ещё раз утверждаюсь что первый вариант лучше.
popka_slonika (19.12.2021 в 10:30)
Мы говорим сейчас о данном случае. Я же указал.
Я же не пишу тут что вообще использую python+sqlite3).
Мы говорим сейчас о данном случае. Я же указал.
Я же не пишу тут что вообще использую python+sqlite3).
sqlite3 так же поддерживает расширение PDO. Используй подготовленные запросы и будет тебе счастье.