Avatar billede superb Nybegynder
23. marts 2009 - 17:12 Der er 4 kommentarer og
1 løsning

Supplied argument is not a valid Mysql resource

Jeg har nedenstående hvor jeg gerne vil have den til at søge efter strenge i databasen og derefter indsætte dem i en anden database, og den kan sagtens hente tingene og søge, men hvis jeg har INSERT delen med så begynder den at brokke sig over at  mysql_fetch_array ikke er valid mysql resource, nogen der kan lure hvad der er galt? Har også prøvet at sætte den til at lave alle specialtegn der måtte være fra amazon om med htmlspecialchars, det hjalp heller ikke.

$output = array();
$query = mysql_query("SELECT * FROM boeger LIMIT 10");
while($row = mysql_fetch_array($query))

    {
    echo $row["forfatter"]."<br>";
    $url =     'http://ecs.amazonaws.co.uk/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=09SYHK2SNX6Q7SN54V02&Operation=ItemSearch&AssociateTag=bsearch-21&Version=2007-01-15&SearchIndex=Books&Keywords='.$row["forfatter"].'&ResponseGroup=Medium,OfferFull';

    $xml = simplexml_load_file ($url);
    if(strlen($xml) < 200) {
        foreach($xml->Items->Item as $item) {
                    $ASIN = $item->ASIN;
                    $listprice = $item->ItemAttributes->ListPrice->Amount;
                    $lownew = $item->OfferSummary->LowestNewPrice->Amount;
                    $lowused = $item->OfferSummary->LowestUsedPrice->Amount;
       
                    $temp = array(
                      'isbn' => (string)$item->ASIN,
                    'titel' => (string)$item->ItemAttributes->Title,
                    'forfatter' => (string)$item->ItemAttributes->Author,
                    'image' => (string)$item->ItemAttributes->MediumImage->URL,
                    'url' => (string) $item->DetailPageURL
       
                    );
                    $output[] = $temp;
                    }
        }
        for ($i=0,$j=count($output); $i<$j; $i++) {
print $output[$i]["titel"]."<br>";

        $query = "INSERT INTO boegertest (isbn, titel, forfatter, image) VALUES ('".$output[$i]["isbn"]."','".$output[$i]["titel"]."','".$output[$i]["forfatter"]."','".$output[$i]["image"]."') ON DUPLICATE KEY UPDATE forfatter='".$output[$i]["forfatter"]."'";
mysql_query ($query) or die (mysql_error());

        }

    }
}

  ?>
<p>Hent b&oslash;ger fra Amazon</p>
<form id="form1" name="form1" method="get" action="">
  <label>
  <input type="submit" name="submit" id="submit" value="submit" />
  </label>
</form>
Avatar billede dkfire Nybegynder
23. marts 2009 - 19:00 #1
Du bruger $query til flere ting, pas på med det.
Omdøb en af de to $query.
Avatar billede olebole Juniormester
23. marts 2009 - 21:36 #2
<ole>

Ved første gennemløb af:
    while($row = mysql_fetch_array($query))

- vil det gå meget godt. Ved andet gennemløb vil du jo (jvnf. dkfire's kommentar) forsøge at trække en række ud af en insert-query - og det går ikke  ;o)

/mvh
</bole>
Avatar billede superb Nybegynder
23. marts 2009 - 22:21 #3
Tusind tak, det havde jeg helt overset, smid et svar i velkomne begge to da i jo begge svarede.
Et lille bonus spørgsmål hvis en af jer gider: Hvis jeg får en streng ind der starter med 0er og gemmer den så forsvinder 0erne i starten indtil der kommer et tal, er der en smart måde at gemme det uændret på?
Avatar billede olebole Juniormester
23. marts 2009 - 22:31 #4
Ellers tak. Jeg understregede blot pointen  =)

Ved de forskellige tal felter i MySQL kan du bruge attributten zerofill
Avatar billede dkfire Nybegynder
24. marts 2009 - 10:41 #5
Et svar fra mig :-)
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