gpt4 book ai didi

php - 来自 PHP 的带有数组字段的 SQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 12:09:14 26 4
gpt4 key购买 nike

我正在开发一个网站,其中有从 mySQL 数据库获取数据的 ajax 请求。
为了简化问题,假设我有以下数据库结构:

表对象
ID_OBJECT(整数)
NAME_OBJECT(可变字符)

表格图片
ID_OBJECT (int) -> 来自 OBJECT 的外键
网址(可变字符)

因此每个对象都可以附加 0 到 n 个图像。我坚持编写请求数据的 php 脚本。

再次简化,假设我想获取所有对象及其所有图像(但将来我也想获取任何特定对象及其所有图片)

我写了这个 PHP 脚本:

$sql = "select 
ID_OBJECT,
NAME_OBJECT,
URL
from
OBJECT,
IMAGE
where
OBJECT.ID_OBJECT = IMAGE.ID_OBJECT";

$statement=$db->prepare($sql);
$statement->execute();
$result=$statement->fetchAll(PDO::FETCH_ASSOC);
header('Content-Type: application/json; charset=utf-8');
echo json_encode($result);

我遇到的问题是,一旦我在 sql 查询中添加“URL”、“IMAGE”和 where 语句,它就不会回显任何内容。(我的数据库中有几个对象和图像具有属性 ID )。我不明白我在哪里犯了错误。

最佳答案

ID_OBJECT 在两个表中,所以 MySQl 不知道显示哪一个。尝试这样指定:

select 
OBJECT.ID_OBJECT,
OBJECT.NAME_OBJECT,
IMAGE.URL
from
OBJECT,
IMAGE
where
OBJECT.ID_OBJECT = IMAGE.ID_OBJECT

关于php - 来自 PHP 的带有数组字段的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25106368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com