0

私はsimpldbを使用して rahul' mehtaいて、simpledbに保存しようとしていますが、以下のエラーが発生します:コード:

   function htmlEscape(text) {
     return text.replace(/&/g,'&').
         replace(/</g,'&lt;').
         replace(/"/g,'&quot;').
         replace(/'/g,'&#039;');
    }
    console.log(params.filename);

  if (params.filename!=undefined) params.filename=htmlEscape(params.filename);
    console.log(sys.inspect(params));
  sdb.putItem(domain, params.objectid, params, function( error ) {
  });

出力:

rahul' mehta

{ 
  filename: 'rahul&#039; mehta',
  }

エラー :

   {"event":"error","errno":"InvalidQueryExpression","message":"The specified query expression syntax is not valid.","queueno":7}

なぜこのエラーが発生するのですか、どうすれば解決できますか?

4

1 に答える 1

1

このエラーは、 Amazon SimpleDB SELECTクエリを実行しようとしていて、そのクエリの構文が間違っているためです。これは、クエリで-属性値-を一重引用符で閉じる必要があるためである可能性があります。つまり、「属性値」です。また、-ドメイン名-および-属性名-に特殊文字が含まれている場合は、それらを閉じる必要があります。急性すなわちDomain NameORでAttribute Namerahul'mehtaを保存できると思いますが、保存された属性値を取得しようとすると、このエラーが発生します。SDB Explorerを使用して正常に保存されたことがわかる文字列で、これに問題はありません。 http://www.sdbexplorer.com/

于 2011-08-05T05:46:15.403 に答える