加入MySQL查询

时间:2012-12-08 20:38:31

标签: php mysql sql mysqli

我无法加入两个查询,这些是我的疑问:

$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  
}

由于

2 个答案:

答案 0 :(得分:1)

您应该考虑使用JOIN将这两个表连接在一起。两个表中似乎都存在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

然后,您可以在单个结果中返回所有数据。

如果您需要帮助学习加入语法,这里有一个很棒的visual explanation of joins

答案 1 :(得分: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