使用JSONArray中的值进行Mysql查询

时间:2012-12-05 16:14:38

标签: 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());

2 个答案:

答案 0 :(得分: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());


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

  

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

相关阅读:

答案 1 :(得分:0)

回显$ jsonarray的内容,当你检查MySQL查询的语法时会看到错误