0

JSONArray.toString()をphpファイルに投稿しています。JSONArrayには、一連のid値が含まれています。jsonarrayに含まれるIDを持つ行のみを返すmysqlクエリを作成したいと思います。以下の私の方法は機能していません。別の方法はありますか?

$jsonarray= $_POST["ids"];
$query = mysql_query("SELECT * FROM table WHERE id IN $jsonarray")or die(mysql_error());
4

2 に答える 2

5

JSON 配列の例があれば役に立ちますが、IN で使用するには、JSON 配列をカンマ区切りのリストにデコードする必要があります。

$jsonarray = $_POST["ids"];
$ids = implode(",", json_decode($jsonarray,true));

$query = mysql_query("SELECT * FROM table WHERE id IN ($ids)")or die(mysql_error());


また、新しい開発には mysqli または PDO_MySQL を使用する必要があります。

mysqli または PDO_MySQL 拡張機能を使用することをお勧めします。新しい開発に古い mysql 拡張機能を使用することはお勧めしません。詳細な機能比較表を以下に示します。3 つの拡張機能すべての全体的なパフォーマンスは、ほぼ同じであると見なされます。ただし、拡張機能のパフォーマンスは、PHP Web 要求の合計実行時間のほんの一部にすぎません。多くの場合、影響はわずか 0.1% です。

関連資料:

于 2012-12-05T16:17:18.650 に答える
0

$jsonarray の内容をエコーアウトすると、MySQL クエリの構文をチェックするときにエラーが表示されます。

于 2012-12-05T16:17:43.577 に答える