0

私は自分のデータベースに情報を取得しようとしていますが、単純な間違いを犯していると確信している問題に直面しています。私が使用しているテーブルを更新するには:

    $conn->query("update webPrice set price= " . $amazonResult['price'] . " where asin = '" . $amazonResult['asin'] . "'");

$conn は私の接続です。価格は一貫して 0 として入力されます。print_r($amazonResult) を実行すると、DB に挿入するすべての情報が表示されるので、そこに情報があることはわかっています。Amazon情報を取得するコードは次のとおりです。

    foreach($parsed_xml->GetMyPriceForASINResult as $item ) {
 $asin2 =$item->attributes()->ASIN;
$current = $item->Product;

 $status = $item->attributes()->status;

      if (stristr($status, "Success") == true)
{
        $amazonResult = array(
                        'asin' => $asin2,
            'price' => $current->Offers->Offer->BuyingPrice->ListingPrice,//AttributeSets->children('ns2', true)->
                            );

問題は更新ステートメントにあると思いますが、それが何であるかはわかりません。asin情報が正しく入力されています。フィールドは price = double および asin = varchar です。

編集: これが print_r($amazonResult); の結果です。

Array ( [asin] => SimpleXMLElement Object ( [0] => 0176055452 ) [price] => SimpleXMLElement Object ( [CurrencyCode] => USD [Amount] => 10.11 ) )
4

2 に答える 2

1

'引用符を追加してみてください$amazonResult['price']

$conn->query("update webPrice set price= '" . $amazonResult['price'] . "' where asin = '" . $amazonResult['asin'] . "'");

編集:あなたの編集によると、値はオブジェクトにあるため、

$conn->query("update webPrice set price= '" . $amazonResult['price']->Amount . "' where asin = '" . $amazonResult['asin']->0 . "'");
于 2012-11-06T19:25:33.860 に答える
1

テーブルとフィールドの名前を次の 2 つの記号の間に入れる必要があります。(coder1984が言ったように)

$conn->query("update `webPrice` set `price` = '" . $amazonResult['price'] . "' where `asin` = '" . $amazonResult['asin'] . "'");
于 2012-11-06T19:33:12.507 に答える