Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么这个简单的连接不起作用?(mysql)_Php_Sql_Mysql_Database - Fatal编程技术网

Php 为什么这个简单的连接不起作用?(mysql)

Php 为什么这个简单的连接不起作用?(mysql),php,sql,mysql,database,Php,Sql,Mysql,Database,我有两张桌子,分类的和福特的 我尝试使用以下代码: SELECT * FROM classified, fordon WHERE classified.ad_id IN ('$solr_id_arr_imploded') AND classified.classified_id=fordon.classified_id 顺便说一句,数组是从solr返回的一组ad_id:s,没关系,这不是问题所在 然后我在while循环中使用mysql\u fetch\u数组来显示所有结果: while($ro

我有两张桌子,分类的和福特的

我尝试使用以下代码:

SELECT * FROM classified, fordon WHERE classified.ad_id IN ('$solr_id_arr_imploded') AND classified.classified_id=fordon.classified_id
顺便说一句,数组是从solr返回的一组ad_id:s,没关系,这不是问题所在

然后我在while循环中使用mysql\u fetch\u数组来显示所有结果:

while($row = mysql_fetch_array($qry_result)){
但是,当我尝试回显fordon表中的内容时,就会出现“找不到索引”错误。但是,无论是在表内分类工程回声

有什么想法吗

谢谢

更新

这有用吗

SELECT * 
FROM classified c
INNER JOIN fordon f ON c.classified_id=f.classified_id
WHERE classified.ad_id IN ('$solr_id_arr_imploded');
此外,使用:SELECT*通常不是一个好主意。最好只选择您想要的元素,或者在您从中获取所有元素的表的上下文中使用*,例如

SELECT classified.* 
FROM classified c
INNER JOIN fordon f ON c.classified_id=f..classified_id
WHERE classified.ad_id IN ('$solr_id_arr_imploded');

当您使用毯子进行连接*时,您将得到所有表中的每个字段。

当您回显结果时,您的代码是什么样子的?我的意思是,实际的while循环:这里的FK设置可能有误吗?FK在fordon桌上,也许应该换个方向?从SELECT*from更改查询是否重要。。。要从中选择fordon.type、classified.headline,请执行以下操作。。。只是看看你的查询设置是否正确。如果返回结果,请告诉我,但我无法判断它是否与外键所在的位置有关。它在字段列表中给出“未知列”“年份”。。。但是标题起作用了!嗯,我现在得去上班了,但我以后还要再试试。。。如果你有什么想法,请告诉我。。。谢谢:我相信这就是他想要实现的。明白,但如果你已经分类了。field_name和fordon.field_name呢。您现在有一个错误,因为您正在使用SELECT*。通常最好只查询您想要的内容,尤其是在您开始连接表时。但我只是建议,你喜欢怎么做;
SELECT * 
FROM classified c
INNER JOIN fordon f ON c.classified_id=f.classified_id
WHERE classified.ad_id IN ('$solr_id_arr_imploded');
SELECT classified.* 
FROM classified c
INNER JOIN fordon f ON c.classified_id=f..classified_id
WHERE classified.ad_id IN ('$solr_id_arr_imploded');