在我的表中,有2条记录的
以下是php文件:
companyid = 1
,但是当我运行下面的php代码查询companyid = 1
时,它只返回第一条记录!如何获取所有记录?以下是php文件:
if (isset($_GET["companyid"])) {
$companyid = $_GET['companyid'];
// get a product from products table
$result = mysql_query("SELECT * FROM `products`
WHERE companyid = $companyid;");
if (!empty($result)) {
if (mysql_num_rows($result) > 0) {
while($row = mysql_fetch_assoc($result)){
$product = array();
$product["pid"] = $row["pid"];
$product["productname"] = $row["productname"];
}
$response["product"] = array();
array_push($response["product"], $product);
// success
$response["success"] = 1;
echo json_encode($response);
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no product JSON
echo json_encode($response);
}
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
使用mysql_fetch_array
也是一样的。当我运行一个没有参数的查询select * from table
时,它会返回所有行:{"product":[{"pid":"12371","productname":"test"}],"success":1}
$result = mysql_fetch_assoc($result);
,因为这样会破坏$result
数据。将其重命名为$row
或其他名称。 - Hans Zmysql_*
函数编写新代码。它们已不再得到维护,社区已开始 弃用过程。相反,您应该了解 prepared statements 并使用 PDO 或 MySQLi。如果无法决定使用哪个,请参考 本文 进行选择。如果想学习,这是一个相当不错的 PDO 相关教程。 - orourkekfetchAll
即可完成 :) - NikiC