0

我正在尝试将信息输入我的数据库并且遇到了一个问题,我确信我只是犯了一个简单的错误。要更新我正在使用的表:

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

$conn 是我的连接。价格始终输入为 0。我知道那里有信息,因为当我执行 print_r($amazonResult) 时,我看到了我想要插入数据库的所有内容。获取亚马逊信息的代码是:

    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

您必须将表的名称和字段的名称放在以下两个符号之间: ` 并且您必须使用 ' 符号来表示值。(就像 coder1984 说的)

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