Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][AdoDB] Undefined index...
ArekJ
post 22.12.2010, 15:35:43
Post #1





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Witam.
Mam taki kod:
  1. $dane = $db -> Execute("SELECT `login`, `email`, `password`, `data_rejestracji`, `ip` FROM `konta_nieaktywne` WHERE `login` = '".$login."' AND `password` = '".$password."'");
  2. foreach ($dane as $dane2)
  3. {
  4. $db -> Execute("INSERT INTO `konta` SET `login` = ?, `email` = ?, `password` = ?, `data_rejestracji` = ?, `ip` = ?", array($dane2['login'], $dane2['email'], $dane2['password'], $dane2['data_rejestracji'], $dane2['ip']));
  5. }
  6. $db -> Execute("DELETE FROM `konta_nieaktywne` WHERE `login` = '".$login."' AND `password` = '".$password."'");

Teoretycznie działa - Wyciąga dane, zmienia na tablice, dodaje do 2giej tabeli, usuwa. Jednak zwraca on również błędy, a mianowicie:
Kod
Column 'login' cannot be nullColumn 'login' cannot be nullColumn 'login' cannot be nullColumn 'login' cannot be nullColumn 'login' cannot be nullColumn 'login' cannot be nullColumn 'login' cannot be null
Notice: Undefined index: login in [ciach] on line 36

Notice: Undefined index: email in [ciach] on line 36

Notice: Undefined index: password in [ciach] on line 36

Notice: Undefined index: data_rejestracji in [ciach] on line 36

Notice: Undefined index: ip in [ciach] on line 36
Column 'login' cannot be null

Można prosić o pomoc w wyelminowaniu błędów? Bo nie mam pomysłu jak to zrobić sad.gif
Z góry dzięki i pozdrawiam,
Arek.


--------------------

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
nospor
post 22.12.2010, 18:36:10
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Podpowiedź debugujaca:
  1. $dane = $db -> Execute("SELECT `login`, `email`, `password`, `data_rejestracji`, `ip` FROM `konta_nieaktywne` WHERE `login` = '".$login."' AND `password` = '".$password."'");
  2. echo 'Przed FOREACH';
  3. var_dump($dane);
  4. foreach ($dane as $dane2)
  5. {
  6. echo 'W FOREACH';
  7. var_dump($dane2);
  8. $db -> Execute("INSERT INTO `konta` SET `login` = ?, `email` = ?, `password` = ?, `data_rejestracji` = ?, `ip` = ?", array($dane2['login'], $dane2['email'], $dane2['password'], $dane2['data_rejestracji'], $dane2['ip']));
  9. }
  10. $db -> Execute("DELETE FROM `konta_nieaktywne` WHERE `login` = '".$login."' AND `password` = '".$password."'");

Na przyszlosc sam rob te glupie debugowanie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ArekJ
post 22.12.2010, 19:16:37
Post #3





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Kod
Przed FOREACHobject(mysql_driver_ResultSet)#3 (9) { ["connectionId"]=> resource(6) of type (mysql link persistent) ["fields"]=> array(5) { ["login"]=> string(5) "ArekJ" ["email"]=> string(25) "arek.jurczewski@gazeta.pl" ["password"]=> string(32) "75ede858bff1597a6a6f78238e4d86f5" ["data_rejestracji"]=> string(10) "1293041690" ["ip"]=> string(15) "217.153.242.130" } ["resultId"]=> resource(13) of type (mysql result) ["_currentRow"]=> int(0) ["_numOfRows"]=> int(1) ["_numOfFields"]=> int(5) ["fetchMode"]=> int(1) ["EOF"]=> bool(false) ["record"]=> array(0) { } } Column 'login' cannot be nullW FOREACHresource(6) of type (mysql link persistent) W FOREACHarray(5) { ["login"]=> string(5) "ArekJ" ["email"]=> string(25) "arek.jurczewski@gazeta.pl" ["password"]=> string(32) "75ede858bff1597a6a6f78238e4d86f5" ["data_rejestracji"]=> string(10) "1293041690" ["ip"]=> string(15) "217.153.242.130" } Column 'login' cannot be nullW FOREACHresource(13) of type (mysql result) Column 'login' cannot be nullW FOREACHint(0) Column 'login' cannot be nullW FOREACHint(1) Column 'login' cannot be nullW FOREACHint(5) Column 'login' cannot be nullW FOREACHint(1) Column 'login' cannot be nullW FOREACHbool(false)
Notice: Undefined index: login in [ciach] on line 38

Notice: Undefined index: email in [ciach] on line 38

Notice: Undefined index: password in [ciach] on line 38

Notice: Undefined index: data_rejestracji in [ciach] on line 38

Notice: Undefined index: ip in [ciach] on line 38
Column 'login' cannot be nullW FOREACHarray(0) { }

Takie coś zwróciło mi.
Niestety, nadal nie mam pomysłu jak uporać się z błędem.


--------------------

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Bobek1910
post 27.12.2010, 20:10:54
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 3
Dołączył: 14.04.2009
Skąd: Wziąć piwo?

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


Funkcja w AdoDB zwraca OBIEKT z tablicą, dostępną w zmiennej fields.

Czyli:

  1. foreach ($dane as $dane2)


zmień na:

  1. foreach ($dane -> fields as $dane2)


Pozdrawiam. biggrin.gif

PS. Zapomniałem dodać, że tablicę z zapytania wyciąga funkcja GetRow czyli odpowiednik mysql_fetch_assoc. winksmiley.jpg

Ten post edytował Bobek1910 27.12.2010, 20:22:19
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: 25.07.2025 - 09:50