Autor Zpráva
Kalby
Profil *
Warning: array_keys() [function.array-keys]: The first argument should be an array in C:\wamp\www\ireality\xmltodatab.php on line 64

tohle je chyba kterou mi pise phpko, nevim vubec proc, posilam jeste kus kodu:

      if($this->nabidky2){
                  mysql_query("insert into `nabidky` (`ID`) values (".$this->data["ID"].")");
                  $klice=array_keys($this->data);
                  for($i=0;$i<count($this->data);$i++){
                  mysql_query("update `nabidky` set `".$klice[$i]."`='".$this->data[$klice[$i]]."' where `ID`=".$this->data["ID"]."");
        }
        unset($this->data);
        }


promena data je pole ktere se vytvori parsovanim xml souboru, jako klic je ulozenej nazev tagu, ten samej klic je vzdy i sloupec v databazi do ktere pak to pole chci ulozit, nevite cim to je?
bukaj
Profil
Kalby
A je proměnná $this->data určitě pole? Zkus si udělat její var_dump().

promena data je pole ktere se vytvori parsovanim xml souboru
V tomto případě to vypadá spíše, že se jedná o instanci nějaké třídy, která implementuje ArrayAccess.
Kalby
Profil *
jo urcite je to na sto procent pole, ja nechapu proc to tu chybu pise kdyz se ten prikaz provede spravne, normalne se do databaze vsechny ty hodnoty z pole vypisou ale pise to i pres to tuhle hlasku
bukaj
Profil
Kalby
jo urcite je to na sto procent pole
Udělal sis ten var_dump(), že?

ja nechapu proc to tu chybu pise
V té chybě se píše, že array_keys() neobdržela pole. Nic víc, nic míň. Proto je nejjednodušší udělat var_dump(), čímž zjistíš, jakéhože typu jsou $this->data.

Jinak bych ale doporučoval pro procházení polí použít konstrukci foreach.
Kalby
Profil *
tak sem dal

var_dump($this->data);


a yde je dukaz :)

array(122) { ["ID"]=> string(1) "4" ["ID_SKUPINA"]=> string(1) "1" ["CISLOZAKAZKY_CISLO"]=> string(1) "0" ["LOCKED"]=> string(5) "False" ["KRAJ"]=> string(20) "Hlavní město Praha" ["OKRES"]=> string(7) "Praha 9" ["ID_KU"]=> string(3) "144" ["CP"]=> string(3) "402" ["LOKALITA"]=> string(15) "Újezd nad Lesy" ["STAT"]=> string(2) "CZ" ["CENA_PRODEJ"]=> string(7) "3650000" ["ID_JEDNOTKA_PRODEJ"]=> string(1) "1" ["JEDNOTKA_PRONAJEM"]=> string(1) "1" ["MENA"]=> string(1) "1" ["CENA_K_JEDNANI"]=> string(1) "0" ["POPLATKY_MENA"]=> string(1) "1" ["CENA_VCETNE_POPLATKU"]=> string(1) "0" ["CENA_VCETNE_SLUZEB"]=> string(1) "0" ["PLOCHA"]=> string(3) "741" ["ZASTAVENA_PLOCHA"]=> string(3) "200" ["UZITNA_PLOCHA"]=> string(2) "60" ["FORMA_VLASTNICTVI"]=> string(1) "1" ["VYTAH"]=> string(1) "0" ["SKLEP"]=> string(1) "2" ["PARKOVANI"]=> string(1) "1" ["BALKON"]=> string(1) "0" ["TERASA"]=> string(1) "2" ["GARAZ"]=> string(1) "3" ["CISLO_ZAKAZKY"]=> string(8) "DN0101LS" ["DATUM_ZADANI"]=> string(8) "20050111" ["DATUM_ZMENY"]=> string(8) "20050310" ["ID_STAV_ZAKAZKY"]=> string(1) "2" ["ID_DRUH_KONTRAKTU"]=> string(1) "2" ["MAKLER"]=> string(1) "2" ["TYP_NEMOVITOSTI"]=> string(1) "2" ["PODTYP_NEMOVITOSTI"]=> string(1) "1" ["VELIKOST_BYTU"]=> string(1) "0" ["TYP_ZAKAZKY"]=> string(1) "1" ["JSOU_PLANY"]=> string(1) "0" ["JSOU_FOTKY"]=> string(1) "1" ["NAZEV"]=> string(47) "RD 3+1, k rekonstrukci, 741 m2, Újezd nad Lesy" ["POPIS"]=> string(344) "Dům u hlavní ulice v Újezdě nad Lesy. Dům je nyní 2+1, podsklepený s terasou a půdou, kde je možno udělat další pokoj. V domě je ÚT na dřevo, voda a septik, plyn a kanalizace v ulici. K domu patří pozemek o velikosti 741 m2. Dům potřebuje celkovou rekonstrukci a vzhledem ke své výhodné poloze je vhodný i na podnikání." ["VYUZITI"]=> string(1) "3" ["ZAHRADA"]=> string(1) "2" ["ZAHRADAPOZNAMKA"]=> string(6) "500 m2" ["UMISTENI_V_OBCI"]=> string(15) "u hlavní ulice" ["JE_PROVIZE"]=> string(1) "0" ["TYP_PROVIZE"]=> string(1) "1" ["NADZEM_PODLAZI"]=> string(1) "2" ["PODZEM_PODLAZI"]=> string(1) "1" ["KATEGORIE"]=> string(1) "0" ["FORMA_VYTAPENI"]=> string(21) "Ústřední palivové" ["ZARIZENY"]=> string(1) "2" ["TYP_DOMU"]=> string(8) "Cihlový" ["POCET_BYTOVYCH_JEDN"]=> string(1) "1" ["POCET_MISTNOSTI"]=> string(1) "3" ["MISTNOSTI"]=> string(1) "3" ["VODA"]=> string(1) "2" ["VODAPOZNAMKA"]=> string(22) "studna i měst., nová" ["ELEKTRINA"]=> string(1) "2" ["ELEKTRINAPOZNAMKA"]=> string(9) "220/380 V" ["KANALIZACE"]=> string(1) "2" ["KANALIZACEPOZNAMKA"]=> string(15) "vlastní septik" ["KANALIZACE_PRIPOJKA"]=> string(7) "v ulici" ["PLYN"]=> string(1) "3" ["PLYN_PRIPOJKA"]=> string(7) "v ulici" ["TELEFON"]=> string(1) "2" ["VYTAPENI"]=> string(1) "2" ["STAV"]=> string(8) "Špatný" ["KLIENTID"]=> string(2) "13" ["ID_KRAJ"]=> string(1) "6" ["ID_OKRES"]=> string(3) "113" ["ID_OBEC"]=> string(3) "114" ["CENA_VCETNE_PROVIZE"]=> string(1) "1" ["TAG"]=> string(62) "{uni_velikost_rd#6}{Nabidka_ZmenaStavuAktivni_Datum#11.1.2005}" ["WEB_SKRYT_CENU"]=> string(5) "False" ["LC_STAT"]=> string(2) "CZ" ["LC_NUTS"]=> string(6) "CZ0109" ["LC_ID_NUTS1"]=> string(1) "1" ["LC_ID_NUTS2"]=> string(2) "19" ["LC_ID_NUTS3"]=> string(2) "19" ["LC_NAZEV_NUTS1"]=> string(2) "CZ" ["LC_NAZEV_NUTS2"]=> string(5) "Praha" ["LC_NAZEV_NUTS3"]=> string(20) "Hlavní město Praha" ["LC_ID_LAU1"]=> string(2) "94" ["LC_ID_LAU2"]=> string(6) "554782" ["LC_NAZEV_LAU1"]=> string(7) "Praha 9" ["LC_ID_SIDLO"]=> string(6) "173771" ["LC_NAZEV_SIDLO"]=> string(15) "Újezd nad Lesy" ["LC_ID_KU"]=> string(6) "773778" ["LC_NAZEV_KU"]=> string(15) "Újezd nad Lesy" ["LC_ID_ULICE"]=> string(1) "0" ["LC_NAZEV_ULICE"]=> string(9) "Ochozská" ["LC_POSTA"]=> string(5) "19016" ["VELIKOSTRD"]=> string(1) "6" ["RNET_GUID"]=> string(36) "fceca763-7a7b-4e00-941c-479a40465cf4" ["STAMP"]=> string(8) "20050302" ["DATAHASH"]=> string(33) "86E241A7C8A13F36939492E2043B80DB " ["KONSTRUKCEBUDOVY"]=> string(5) "1 " ["JEVOLNYIHNED"]=> string(5) "1 " ["BYTOVEJADRO"]=> string(11) "zděné " ["JEPOSLEDNIPATRO"]=> string(3) " " ["JEMEZONET"]=> string(3) " " ["CISLOBYTU"]=> string(4) " " ["LODZIE"]=> string(3) " " ["LODZIEPOZNAMKA"]=> string(4) " " ["JEKABELOVATELEVIZE"]=> string(3) " " ["JEPEVNEPRIPOJENI"]=> string(5) "1 " ["MAXIMALNIPOCETOSOB"]=> string(4) " " ["ZALOHANAPRONAJEM"]=> string(4) " " ["DOMACIZVIRATAPRONAJEM"]=> string(3) " " ["DETIPRONAJEM"]=> string(3) " " ["CIZINCIPRONAJEM"]=> string(3) " " ["CIZINCIPRONAJEMPOZNAMKA"]=> string(4) " " ["MINIMALNIDOBAPRONAJMU"]=> string(4) " " ["ORIENTACE"]=> string(4) " " ["STAVAJICIPOROSTY"]=> string(4) " " ["STAVAJICISTAVBY"]=> string(4) " " ["POLOHANEMOVITOSTI"]=> string(4) " " ["INZERCE"]=> string(4) " " ["JEVRD"]=> string(3) " " ["HYPOTEKA"]=> string(1) " " } NULL 
bukaj
Profil
Kalby
Není nic jednoduššího než použít foreach.
Kalby
Profil *
hm nevim v tom cyklu asi chyba nebude chybu mi to hlasi na tom radku kde z toho pole dostavam ty klice nevim necham to bejt, funguje to jak to ma jenom skreju chzbovy hlasky a prdim na to
bukaj
Profil
Kalby
funguje to jak to ma jenom skreju chzbovy hlasky a prdim na to
Už se nedivím, že se o PHP programátorech tvrdí, že jsou "prasata", jestliže jich většina bude mít takový přístup jako ty :(

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: