Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][AdoDB] Undefined index...
ArekJ
post
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ć (IMG:style_emoticons/default/sad.gif)
Z góry dzięki i pozdrawiam,
Arek.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
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.
Go to the top of the page
+Quote Post
ArekJ
post
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.
Go to the top of the page
+Quote Post
Bobek1910
post
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. (IMG:style_emoticons/default/biggrin.gif)

PS. Zapomniałem dodać, że tablicę z zapytania wyciąga funkcja GetRow czyli odpowiednik mysql_fetch_assoc. (IMG:style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 06:44