-1

我无法将两个查询连接在一起,这些是我的查询:

$sql = "SELECT SourcePath, Description, BikeCode FROM BikeImages order by bikecode";
$sql1 = "SELECT BikeCode, Manufacturer, Model, SubType, Year, FrameMaterial, Description, Gender, Type, Price, Stock FROM Bike WHERE Stock > 0";
$result = mysqli_query($con, $sql);
$result1 = mysqli_query($con, $sql1);

非常感谢您的帮助,我有几个想法可以将它们结合在一起,例如

$result = mysqli_query($sql && $sql1, $con);

但这似乎不起作用,如果可以,我应该将两个 $sql 连接在一起吗?我该怎么做?

编辑:这些表是相关的,因为我想创建一个 while 循环,它显示 Bike 表中的所有信息,然后从 BikeImages 表中获取与每个单独的 BikeCode 相关的图像。

将表格链接在一起后,我希望使用此代码来显示我的信息:

while(list($bikecode, $manufacturer, $model, $subtype, $year, $fmaterial, $desc, $gender, $type, $price, $stock, $sourcepath, $description) = mysqli_fetch_row($result1)) {   
echo "information here  
}

谢谢

4

2 回答 2

1

您应该考虑使用 aJOIN将这两个表连接在一起。它似乎BikeCode存在于两个表中,因此您应该能够加入类似于此的查询:

SELECT b.BikeCode, 
  b.Manufacturer, 
  b.Model, 
  b.SubType, 
  b.Year, 
  b.FrameMaterial, 
  b.Description, 
  b.Gender, 
  b.Type, 
  b.Price, 
  b.Stock,
  i.SourcePath,
  i.Description
FROM Bike b
LEFT JOIN BikeImages i
  on b.bikecode = i.bikecode
WHERE b.Stock > 0
ORDER BY b.BikeCode

然后,这允许您在单个结果中返回所有数据。

如果您在学习连接语法方面需要帮助,这里有一个很好的连接可视化解释

于 2012-12-08T20:53:31.280 回答
0

您应该使用 MySQL JOIN:http ://dev.mysql.com/doc/refman/5.0/en/join.html 。

不要在 PHP 中进行连接。它更慢更复杂。

很好的教程在这里: http: //www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

于 2012-12-08T20:41:15.857 回答