Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AdoDB] Undefined index...
Forum PHP.pl > Forum > Przedszkole
ArekJ
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.
nospor
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.
ArekJ
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.
Bobek1910
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.