Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Storm i SQL
markonix
post 13.04.2016, 17:02:29
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Czasem mam jakieś projekty jeszcze gdzie muszę bezpośrednio pisać zapytania i irytuje mnie strasznie, że PHPSTORM podpowiada do momentu użycia zmiennej.
  1. $mysqli->query('
  2. INSERT INTO orders SET
  3. `item_id` = '. $item_id .'
  4. ');


Już na takim czymś się wysypuje, pokazuje mi błąd, że nie ma kolumny $item_id czyli nie bierze pod uwagę, że to zmienna..

Też tak macie?

Ten post edytował markonix 13.04.2016, 18:12:17


--------------------
Go to the top of the page
+Quote Post
by_ikar
post 13.04.2016, 18:54:55
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


http://blog.jetbrains.com/phpstorm/2014/11...-configuration/
Go to the top of the page
+Quote Post
markonix
post 13.04.2016, 23:58:43
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(by_ikar @ 13.04.2016, 19:54:55 ) *

No fajnie, tamten przykład też mi działa, ale gdy użyjesz czegoś w cudzysłowie to już przestaje działać..
  1. $mysqli->query("INSERT INTO `orders` SET `item_id` = $item_id, `name` = '". $cos ."', `...

Działa przy $item_id ale już przy $cos się sypie. Czy użyje "' lub '" nie ma znaczenia :/


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 14.04.2016, 07:27:59
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Z tym sobie nie poradzimy chyba na razie. Tickety na to są od ponad roku.
Jedynie chyba właśnie sprintf używać ale ...
Go to the top of the page
+Quote Post
markonix
post 14.04.2016, 18:52:38
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Hm, wydaje się to takie proste i oczywiste bo rozumiem, że mają problem z konstrukcjami gdzie pod zmienną są fragmenty zapytania (takie $where), ale żeby nie móc użyć zmiennej string jako parametr :/
Dobrze, że 90% moich projektów korzysta z jakichś ORM'ów/QueryBuilderów..


--------------------
Go to the top of the page
+Quote Post
com
post 14.04.2016, 18:59:29
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


bo używa sie prepare tongue.gif
Go to the top of the page
+Quote Post
markonix
post 14.04.2016, 19:23:30
Post #7





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Prepare w PDO jeszcze ok ale w mysqli jest troszkę mniej funkcjonalny poza tym łatwiej mi na szybko walnąć zmienną w real_escape_string i mieć zapytanie z głowy.

Edit: Taka ciekawostka - mimo, że nie podpowie nazwy kolumny to jednak podświetli przy takim SET kolumny, które nie istnieją..

Ten post edytował markonix 14.04.2016, 20:51:38


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 10:43