1

私はPHPで次のコードを持っています:

$IDs = implode(",", array_keys($result["matches"]));
$sql = "SELECT * FROM table WHERE id IN ($IDs)";

私はそれをNode.jsに「翻訳」しています。内破はarray.joinになると思うので、これを試しました:

var ids = Object.keys(answer['matches']).join(",");
var sql = "SELECT * FROM xml_it WHERE id IN (" + ids + ")";

ここで、PHP の $sql 変数をエコーすると、期待どおりの結果が得られます。

SELECT * FROM table WHERE id IN (3187,3220,3233,3245,3246,3251,3253,3256, ...

しかし、node.jsを使用すると、次のようになります:

SELECT * FROM xml_it WHERE id_xml IN ([0,1,2,3,4, ...

answer['matches'] は明らかに同じ結果です (基本的に Sphinx の検索結果です)

なぜ私はそれを文字列としてではなくオブジェクトとして取得しているのですか?

前もって感謝します。

4

1 に答える 1

1

Object.keys(obj)何をするかを反映するために使用する必要があると思いますarray_keys

現在、キーだけでなく、オブジェクト全体を取得しています。

于 2012-09-12T14:08:47.307 に答える