我无法加入两个查询,这些是我的疑问:
$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
}
由于
答案 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