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 数组的示例会有所帮助,但是,您应该将 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%。

相关阅读:

于 2012-12-05T16:17:18.650 回答
0

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

于 2012-12-05T16:17:43.577 回答