AND w SELECT

S1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0
Kopiuj
$pozycja = $mysqli->query("SELECT * FROM tabela WHERE kod_produktu = '".$value."' AND user = '".$_SESSION['user']."' AND data = '".$data."'");

Nie wiem dlaczego ale moje słowa AND w tym zapytaniu do bazy w programie sublime text 3 pojawiają się na żółto a zawsze były czerwone, sprawdzałem te cudzysłowy i apostrofy i wszystko powinno być ok, a tu kiszka, pomożecie??

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Przypuszczam. że Sublime średnio sobie radzi z formatowaniem ręcznie sklejanych zapytań (podobnie jak zresztą większość znanych mi środowisk) - przerzuć się na bindowanie (Google: mysqli bind parameters), a będzie dobrze.

Dodatkowa lektura: SQL injection.

Piotrek Nero
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

Najprostsze co można zrobić, choć pewnie jest lepsze wyjście to zamienić na

Kopiuj
$pozycja = $mysqli->query("SELECT * FROM tabela WHERE kod_produktu = '{$value}' AND user = '{$_SESSION['user']}' AND data = '{$data}'");
S1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0
Piotrek Nero napisał(a):

Najprostsze co można zrobić, choć pewnie jest lepsze wyjście to zamienić na

Kopiuj
$pozycja = $mysqli->query("SELECT * FROM tabela WHERE kod_produktu = '$value' AND user = '$_SESSION['user']' AND data = '$data'");

to nie bedzie bo sie pluje o te zmienne one powinny byc z kropkami i cudzyslowami i apostrofami, a jesli tak zrobie AND jest dalej żółte i teraz nie wiem czy mam to dobrze czy nie to zapytanie

SG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 103
0

Przecież samo podświetlenie składni jakiegokolwiek języka nie może być wyznacznikiem tego czy kod jest dobry czy nie. Inna sprawa, że tym zapytaniu masz dużo większe problemy niż źle podświetlony AND.

S1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0

mam żłe zapytanie?

Piotrek Nero
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

Jak już Patryk27 wspomniał - SQL injection oraz mysqli bind parameters. Zapoznaj się z taką tematyką :)

noHumanus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
  • Postów: 51
0
Kopiuj
pozycja = $mysqli->query("SELECT * FROM tabela WHERE `kod_produktu` = '{$value}' AND `user` = '{$_SESSION['user']}' AND `data` = '{$data}'");

możesz zaznaczyć ` że to pola tabeli a nie słowa kluczowe SQLa, a o SQL injection warto pamiętać :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.