我有两个表,classified
和fordon
。
classified table:
classified_id (PK)
etc...
fordon table:
id (PK)
classified_id (FK)
我尝试使用此代码:
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_fetch_array来显示所有结果:
while($row = mysql_fetch_array($qry_result)){
但是当我尝试回显表fordon
内的某些内容时,则无法找到索引错误。但是表classified
内的任何内容都可以回应!
有什么想法吗?
由于
更新
while($row = mysql_fetch_array($qry_result)){
echo $row['type']; // This doesn't work, because the 'type' column is inside the 'fordon' table
echo $row['headline']; // This does work because it's inside 'classified' table.
答案 0 :(得分:1)
这有帮助吗?
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');
当您使用毯子*
进行连接时,您将获得所有表格中的每个字段。