使用JSONArray中的值进行Mysql查询

A H*_*A H 0 php mysql post

我正在将一个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());
Run Code Online (Sandbox Code Playgroud)

Chr*_*ens 5

如果我们有一个JSON数组的例子,它会有所帮助,但是,您应该将JSON数组解码为逗号分隔列表以与IN一起使用.

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

$query = mysql_query("SELECT * FROM table WHERE id IN ($ids)")or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)


此外,您应该使用mysqli或PDO_MySQL进行新开发:

建议使用mysqli或PDO_MySQL扩展.建议不要将旧的mysql扩展用于新开发.下面提供了详细的特征比较矩阵.所有三个扩展的整体性能被认为是大致相同的.虽然扩展的性能只占PHP Web请求总运行时间的一小部分.通常,影响低至0.1%.

相关阅读:

  • 我想补充一点,你最好使用mysqli或PDO,因为不建议使用mysql_ API,不推荐使用它. (2认同)