Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP][MySQL] zle skonstruowane zapytanie?
artisan
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 14.11.2011
Skąd: Wieliczka

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


Witam i znowu mam problem pojawia mi się ten bąd
Cytat
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'kier' in 'where clause'

Którego nie rozumiem, niżej podaje kod za to odpowiedzialny
  1. $logs=$this->log;
  2. $dodajemy=$pdo->query('Select * from users where login='.$logs);


Najprawdopodobniej zle zostala umieszczona $logs, może powinno byc tak
  1. $logs=$this->log;
  2. $dodajemy=$pdo->query('Select * from users where login='."'$logs'");


Tylko że jak mam tą drugą opcje to akceptuje wszystko co się poda nawet błędne informacje

Ten post edytował artisan 12.05.2012, 16:54:10
Go to the top of the page
+Quote Post
lukasz_os
post
Post #2





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

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


Błąd nie odnosi się do tego zapytania (IMG:style_emoticons/default/smile.gif) musisz mieć w jakimś zapytaniu kolumnę 'kier' której nie masz w tabeli (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
artisan
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 14.11.2011
Skąd: Wieliczka

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


Tylko że to jest jedno jedyne zapytanie
Go to the top of the page
+Quote Post
bpskiba
post
Post #4





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


Odnośnie
  1. $dodajemy=$pdo->query('Select * from users where login='.$logs);


Zapewne $logs="kier"
Wtedy pytanie wyględa tak:
Select * from users where login=kier

Czyli wybierz wszystko z tabeli users gdy wartość kolumny login równa się wartości z kolumny kier
W efekcie masz odpowiedź serwera brak kolumny kier (IMG:style_emoticons/default/smile.gif)

Prawidłowy jest zapis
  1. $dodajemy=$pdo->query('Select * from users where login='."'$logs'");


ładniej wygląda
  1. $dodajemy=$pdo->query("Select * from users where login='$logs'");


A czemu wyświetla błędne informacje??
Tutaj należy sprawdzić skąd się wzięła zmienna $logs oraz wartości bazy danych (tabela users, pole login)
I oducz się proszę zapytań w stylu select * (najlepiej usuń klawisz gwiazdki z klawiatury (IMG:style_emoticons/default/smile.gif) )

Ten post edytował bpskiba 12.05.2012, 17:55:04
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 27.08.2025 - 17:20