Avatar billede Jakie Juniormester
04. december 2012 - 19:04 Der er 6 kommentarer og
1 løsning

MYSQLI: insert into tabel, array, fungerer ikke?

Hej Eksperter.

Jeg har det problem at jeg skal sætte data ind i to tabeller i min database - her er min kode:

<?php


header("Content-type: charset=UTF-8");



$mysqli = new mysqli("mmmm, "jmmm");
mysqli_set_charset($mysqli, "utf8");
$mysqli->query("SET NAMES utf8");
$mysqli->query('SET character_set_client="utf8",character_set_connection="utf8",character_set_results="utf8"; ');
ini_set('default_charset', 'UTF-8');

require_once 'simple_html_dom.php';

function getStock($get_rss_feed){

$html = file_get_html($get_rss_feed);

$tmp = array();
$result = array();
$row = array();
$i = 0;


foreach ($html->find("items") as $items){
        foreach($items->find("item") as $item){
                $i++;
                foreach($item->find("itemno") as $itemno){
                        $val = trim($itemno->plaintext);
                        $tmp[($i == 1 ? "keys" : "values")][] = $val;
   
                }
               
                foreach($item->find("description") as $description){
                        $val = trim($description->plaintext);
                        $tmp[($i == 1 ? "keys" : "values")][] = $val;
   
                }
               
                foreach($item->find("brand") as $brand){
                        $val = trim($brand->plaintext);
                        $tmp[($i == 1 ? "keys" : "values")][] = $val;
   
                }
               
               
                foreach($item->find("retailprice") as $retailprice){
                        $val = trim($retailprice->plaintext);
                        $tmp[($i == 1 ? "keys" : "values")][] = $val;
   
          }
                foreach($item->find("onstock") as $onstock){
                        $val = trim($onstock->plaintext);
                        $tmp[($i == 1 ? "keys" : "values")][] = $val;
   
                }
               
               
               
                if($i != 1){
                        $result[] = $tmp;
                        $tmp = array();
                }


        }
}
return $result;



}






$get_the_rss_feed_url = getStock("url");





if ($stmt = $mysqli->prepare("INSERT INTO ps_product_lang (description, name) values (?, ?)")) {
   
    /* Bind our params */
    $stmt->bind_param('ss',$descrption, $reference);

        foreach ($get_the_rss_feed_url as $aktie) {
                $reference = $aktie["values"][0];
                $descrption = $aktie["values"][1];
           
         
                $stmt->execute();




        }
        print "Updated data";
        $stmt->close();




var_dump($descrption);


} else {

    echo 'Der opstod en fejl i erklæringen ';


}






if ($stmt = $mysqli->prepare("INSERT INTO ps_product (id_manufacturer, quantity, price, reference) values (?, ?, ?, ?)")) {
   
    /* Bind our params */
    $stmt->bind_param('iiis', $brand, $instock, $price, $reference);

        foreach ($get_the_rss_feed_url as $aktie) {
                $reference = $aktie["values"][0];
                $descrption = $aktie["values"][1];
                $brand = $aktie["values"][2];               
                $price = $aktie["values"][4];                             
                $instock = $aktie["values"][5];
               
                if ($brand == "D&G")
                {
                $brand = 5;
                }
                else if ($brand == "casio")
                {
                $brand = 4;
                }
                else if ($brand == "levi")
                {
                $brand = 9;
                }
                else if ($brand == "guess")
                {
                $brand = 7;
                }
                else if ($brand == "seiko")
                {
                $brand = 13;
                }
                else if ($brand == "timex")
                {
                $brand = 15;
                }
               
               
               
               
               
                if ($instock == 0)
                {
                $shopinstock = 1;
                }
                else if ($instock == 1)
                {
                $shopinstock = 0;
                }
         
                $stmt->execute();

var_dump($reference);

        }
 
        $stmt->close();





} else {

    echo 'Der opstod en fejl i erklæringen ';


}



?>


der meldes ingen fejl - hvad kan fejlen være?

På forhånd tak
Avatar billede olebole Juniormester
04. december 2012 - 23:33 #1
<ole>

Hvad får du ud af dette:

<?php
require_once 'simple_html_dom.php';

function getStock($get_rss_feed){
    $html = file_get_html($get_rss_feed);
   
    $tmp = array();
    $result = array();
    $row = array();
    $i = 0;
   
    foreach ($html->find("items") as $items){
        foreach($items->find("item") as $item){
            $i++;
            foreach($item->find("itemno") as $itemno){
                $val = trim($itemno->plaintext);
                $tmp[($i == 1 ? "keys" : "values")][] = $val;
            }
           
            foreach($item->find("description") as $description){
                $val = trim($description->plaintext);
                $tmp[($i == 1 ? "keys" : "values")][] = $val;
            }
           
            foreach($item->find("brand") as $brand){
                $val = trim($brand->plaintext);
                $tmp[($i == 1 ? "keys" : "values")][] = $val;
            }
           
            foreach($item->find("retailprice") as $retailprice){
                $val = trim($retailprice->plaintext);
                $tmp[($i == 1 ? "keys" : "values")][] = $val;
            }
           
            foreach($item->find("onstock") as $onstock){
                $val = trim($onstock->plaintext);
                $tmp[($i == 1 ? "keys" : "values")][] = $val;
            }
                           
            if($i != 1){
                $result[] = $tmp;
                $tmp = array();
            }
        }
    }
    return $result;
}

$get_the_rss_feed_url = getStock("url");
var_dump($get_the_rss_feed_url);
?>

Hvad skyldes i øvrigt den utf-8-fetish, du amokker med at udfolde på de første mange linjer?  =)

/mvh
</bole>
Avatar billede Jakie Juniormester
07. december 2012 - 15:37 #2
Hej Ole

Jeg får et langt array (jeg har taget et stykke af den):

array(1065) {
  [0]=>
  array(2) {
    ["keys"]=>
    array(5) {
      [0]=>
      string(10) "3719251684"
      [1]=>
      string(27) "I Love D&amp;G - 3719251684"
      [2]=>
      string(7) "D&amp;G"
      [3]=>
      string(5) "1.895"
      [4]=>
      string(1) "1"
    }
    ["values"]=>
    array(5) {
      [0]=>
      string(10) "3719770084"
      [1]=>
      string(22) "Sandpiper - 3719770084"
      [2]=>
      string(7) "D&amp;G"
      [3]=>
      string(5) "1.995"
      [4]=>
      string(1) "1"
    }
  }
  [1]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(10) "3719770097"
      [1]=>
      string(22) "Sandpiper - 3719770097"
      [2]=>
      string(7) "D&amp;G"
      [3]=>
      string(5) "1.995"
      [4]=>
      string(1) "1"
    }
  }
  [2]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(10) "3719770110"
      [1]=>
      string(22) "Sandpiper - 3719770110"
      [2]=>
      string(7) "D&amp;G"
      [3]=>
      string(5) "1.995"
      [4]=>
      string(1) "0"
    }
  }
  [3]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(10) "3719770123"
      [1]=>
      string(22) "Sandpiper - 3719770123"
      [2]=>
      string(7) "D&amp;G"
      [3]=>
      string(5) "1.995"
      [4]=>
      string(1) "0"
    }
  }
  [4]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(10) "3729250219"
      [1]=>
      string(28) "Night &amp; Day - 3729250219"
      [2]=>
      string(7) "D&amp;G"
      [3]=>
      string(5) "1.795"
      [4]=>
      string(1) "1"
    }
  }
  [5]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(6) "A158WA"
      [1]=>
      string(6) "A158WA"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "298"
      [4]=>
      string(1) "1"
    }
  }
  [6]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(11) "A158WEA-9EF"
      [1]=>
      string(11) "A158WEA-9EF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "448"
      [4]=>
      string(1) "0"
    }
  }
  [7]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(12) "A159WGEA-1EF"
      [1]=>
      string(12) "A159WGEA-1EF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "598"
      [4]=>
      string(1) "0"
    }
  }
  [8]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(8) "A168WA-1"
      [1]=>
      string(8) "A168WA-1"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "398"
      [4]=>
      string(1) "1"
    }
  }
  [9]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(6) "A168WG"
      [1]=>
      string(6) "A168WG"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "548"
      [4]=>
      string(1) "1"
    }
  }
  [10]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(9) "A178WA-1A"
      [1]=>
      string(9) "A178WA-1A"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "398"
      [4]=>
      string(1) "1"
    }
  }
  [11]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(10) "A178WGA-1A"
      [1]=>
      string(10) "A178WGA-1A"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "498"
      [4]=>
      string(1) "1"
    }
  }
  [12]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AE-1000W-1AVEF"
      [1]=>
      string(14) "AE-1000W-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "648"
      [4]=>
      string(1) "0"
    }
  }
  [13]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AE-1000W-1BVEF"
      [1]=>
      string(14) "AE-1000W-1BVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "648"
      [4]=>
      string(1) "0"
    }
  }
  [14]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(15) "AE-1000WD-1AVEF"
      [1]=>
      string(15) "AE-1000WD-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "648"
      [4]=>
      string(1) "0"
    }
  }
  [15]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AE-1100W-1AVEF"
      [1]=>
      string(14) "AE-1100W-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "448"
      [4]=>
      string(1) "0"
    }
  }
  [16]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AE-1100W-1BVEF"
      [1]=>
      string(14) "AE-1100W-1BVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "448"
      [4]=>
      string(1) "0"
    }
  }
  [17]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(15) "AE-1100WD-1AVEF"
      [1]=>
      string(15) "AE-1100WD-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "498"
      [4]=>
      string(1) "0"
    }
  }
  [18]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AE-2000W-1AVEF"
      [1]=>
      string(14) "AE-2000W-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "698"
      [4]=>
      string(1) "0"
    }
  }
  [19]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(15) "AE-2000WD-1AVEF"
      [1]=>
      string(15) "AE-2000WD-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "598"
      [4]=>
      string(1) "1"
    }
  }
  [20]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(13) "AMW-710-1AVEF"
      [1]=>
      string(13) "AMW-710-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "898"
      [4]=>
      string(1) "1"
    }
  }
  [21]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AMW-710D-1AVEF"
      [1]=>
      string(14) "AMW-710D-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(5) "1.198"
      [4]=>
      string(1) "1"
    }
  }
  [22]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AQ-160WD-1BVEF"
      [1]=>
      string(14) "AQ-160WD-1BVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "798"
      [4]=>
      string(1) "1"
    }
  }
  [23]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AQ-160WD-2BVEF"
      [1]=>
      string(14) "AQ-160WD-2BVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "798"
      [4]=>
      string(1) "0"
    }
  }
  [24]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(13) "AQ-180W-1BVES"
      [1]=>
      string(13) "AQ-180W-1BVES"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "598"
      [4]=>
      string(1) "0"
    }
  }
  [25]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(13) "AQ-180W-7BVES"
      [1]=>
      string(13) "AQ-180W-7BVES"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "598"
      [4]=>
      string(1) "0"
    }
  }
  [26]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AQ-180WD-1BVES"
      [1]=>
      string(14) "AQ-180WD-1BVES"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "798"
      [4]=>
      string(1) "0"
    }
  }
  [27]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AQ-180WD-2AVES"
      [1]=>
      string(14) "AQ-180WD-2AVES"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "798"
      [4]=>
      string(1) "1"
    }
  }
  [28]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AQ-180WD-7BVES"
      [1]=>
      string(14) "AQ-180WD-7BVES"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "798"
      [4]=>
      string(1) "0"
    }
  }
  [29]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(13) "AQ-190W-1AVEF"
      [1]=>
      string(13) "AQ-190W-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "898"
      [4]=>
      string(1) "0"
    }
  }
  [30]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(14) "AQ-190WD-1AVEF"
      [1]=>
      string(14) "AQ-190WD-1AVEF"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "998"
      [4]=>
      string(1) "0"
    }
  }
  [31]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(8) "AQ230A-1"
      [1]=>
      string(8) "AQ230A-1"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "398"
      [4]=>
      string(1) "0"
    }
  }
  [32]=>
  array(1) {
    ["values"]=>
    array(5) {
      [0]=>
      string(8) "AQ230A-7"
      [1]=>
      string(8) "AQ230A-7"
      [2]=>
      string(5) "Casio"
      [3]=>
      string(3) "398"
      [4]=>
      string(1) "1"
    }
  }
Hvilket fortæller hvad, der var galt :)

Tak !
Avatar billede Jakie Juniormester
07. december 2012 - 18:15 #3
Men jeg fik problemer med den anden tabel :P
Avatar billede olebole Juniormester
07. december 2012 - 23:25 #4
Der er i hvertfald problemer her:

    $stmt->bind_param('iiis', $brand, $instock, $price, $reference);

        foreach ($get_the_rss_feed_url as $aktie) {
                $reference = $aktie["values"][0];
                $descrption = $aktie["values"][1];
                $brand = $aktie["values"][2];               
                $price = $aktie["values"][4];                             
                $instock = $aktie["values"][5];

Der er slet ikke tal i dit array, så de tre i'er i din bind_param skal være s'er.

Derudover er der ged i dine keys. $aktie["values"][5] eksisterer ikke - men til gengæld springer du $aktie["values"][3] over  *o)
Avatar billede Jakie Juniormester
14. december 2012 - 00:52 #5
Tak Ole :)
Avatar billede olebole Juniormester
14. december 2012 - 02:09 #6
Selvtak. Hvis det løste problemet, lægger du bare et svar og accepterer det, så tråden lukkes. Ellers spørger du bare videre  =)
Avatar billede Jakie Juniormester
14. december 2012 - 11:08 #7
Endnu engang tak Ole :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester