2 回答
TA贡献1797条经验 获得超6个赞
这是一个建议。在您的 sql 中使用CONCAT(),以便您可以直接将整个结果集转储到您的json_encode()调用中。不需要写循环。
未经测试的代码:
$query = "SELECT aprice,
oprice,
offer,
CONCAT('xyzabc.com/admin/upload/product_img/', image)
FROM products
WHERE product_type = ?"
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $product);
$stmt->execute();
$result = $stmt->get_result();
echo json_encode($result->fetch_all(MYSQLI_ASSOC));
TA贡献1155条经验 获得超0个赞
只需在添加到数组之前修改您的数据:
$query="SELECT * FROM products WHERE product_type='$product' ";
$result = mysqli_query($conn,$query);
$dbdata = array();
if ($result) {
while ( $row = $result->fetch_array()) {
$row['image'] = "xyzabc.com/admin/upload/product_img/".$row['image']; // <--HERE
$dbdata[] = $row;
}
echo json_encode($dbdata);
}
一些旁注:
最好选择要发送的列,因为您可以修改表格并破坏另一侧。所以,在这种情况下,最好使用
SELECT aprice, oprice, image, ... FROM Products ...
您的查询可能容易受到 SQL 注入攻击。
- 2 回答
- 0 关注
- 96 浏览
添加回答
举报