-1

このクエリで作成した配列があります。

$run=0;
$result = $conn->query("SELECT distinct isbn13 from inventory 
                        WHERE quantity>0 and isbn13 like '978%' limit $run, 20");

while($image = $result->fetch_assoc())
{
    $isbn[$x] = $image['isbn13'];  
    $x++;
} //end while

そして、それをこの関数に渡す必要があります:

$parsed_xml = ProductId_xml($isbn);

print_r($isbn); を使用したため、$isbn に情報があることはわかっています。そして配列を見ました。ただし、関数 (var_dump($searchterm); die;) で同じことを行うと、NULL が返されます。関数の一部を次に示します。

count=0;

function ProductId_xml($searchTerm) {
    var_dump($searchTerm); die;

    $params = array(
        'AWSAccessKeyId' => AWS_ACCESS_KEY_ID,
        'Action' => "GetMatchingProductForId",
        'SellerId' => MERCHANT_ID,
        'SignatureMethod' => "HmacSHA256",
        'SignatureVersion' => "2",
        'Timestamp'=> gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time()),
        'Version'=> "2011-10-01",
        'MarketplaceId' => MARKETPLACE_ID,
        'IdType' => "ISBN",
    );

    $id=array(explode(',',$searchTerm));

    foreach ($id as $newId)
    {
        $count .= $count +1;    
        $params += array('IdList.Id.'.$count => $newId);
    } //end of foreach  

関数に情報を取得するにはどうすればよいですか?

4

3 に答える 3

1

問題はここにあります:

function ProductId_xml($searchTerm) {
    var_dump($searchterm); die;

$searchTermは$searchtermとは異なります。試してみてください:

var_dump($searchTerm); die;

それはうまくいくはずです

于 2012-10-08T15:53:46.130 に答える
1

PHP の変数名は大文字と小文字が区別されるため$searchterm、 と$searchTermは異なる変数です。

試すvar_dump($searchTerm); die;

于 2012-10-08T15:50:37.397 に答える
1

入力変数$searchTermは連想配列でなければなりません。爆発させる必要はありません。$searchTerm['key']と言うか、 foreach ループを使用して、情報にアクセスできるはずです。

foreach ($searchTerm as $key=>$val) { 
    $params['IdList.Id.'.$key] = $val;
} //end of foreach  
于 2012-10-08T15:51:09.693 に答える