[Mysql MAMP] unknown column
#1
Napisano 23 listopada 2006 - 17:38
#2
Napisano 23 listopada 2006 - 18:13
#3
Napisano 23 listopada 2006 - 19:14
#4
Napisano 23 listopada 2006 - 19:30
#5
Napisano 23 listopada 2006 - 20:02
$zmienna=$_GET['zmienna'];
a samo zapytanie zmontowalbym tak:
$query = " SELECT kolumna_1, kolumna_2, kolumna_3 FROM tabela WHERE kolumna_1=$zmienna";
#6
Napisano 23 listopada 2006 - 21:54
próbowałem już wcześniej, ale aż jeszcze raz sprawdziłem - nic z tegoa sprobuj 'SELECT * FROM tabela WHERE kolumna= "'.$zmienna.'"' tzn nazwy kolumn bez apostrofow.
zmienne są przypisane, wiem bo register_globals w EasyPHP też mam wyłączone. Tak czy inaczej sprawdziłem z włączonym register_globals i także nic.najpierw pobierz zmienna, bo mamp nie ma domyslnie wlaczonych zmiennych globalnych
słuszna uwaga, na przyszłość.a samo zapytanie zmontowalbym tak:
Tymczasem problem pozostaje.
#7
Napisano 23 listopada 2006 - 23:09
#8
Napisano 23 listopada 2006 - 23:15
#9
Napisano 23 listopada 2006 - 23:54
A jakiego typu jest ta kolumna? Jeśli znakowego, to porównywaną wartość trzeba obtoczyć ciapkami odpowiedniego rodzaju, bo MySQL pomyśli że to też nazwa kolumny:
Coś takiego generował Twój kod:
SELECT * FROM tabela WHERE kolumna = wartosc
to jest ewidentnie warunek, gdzie wartość kolumny "kolumna" jest równa wartości kolumny "wartosc". A kolumna "wartosc" nie istnieje i bum!
Proponuję zainteresować się tą funkcją:
http://pl.php.net/ma...cape-string.php
Możesz skorzystać z rozwijania zmiennych w łańcuchu oganiczonym podwójnymi pazurkami "
"SELECT * FROM users WHERE user='$zmienna' "
albo lepiej dla bezpieczeństwa, jeśli wartość zmiennej pochodzi z URLa lub formularza:
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
#10
Napisano 24 listopada 2006 - 00:32
Zrób echo zapytania które Ci się wysypuje.
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych