我正在尝试从数据库的不同表中提取多个行。
如果我只有两个表中的前3行,它可以很好地工作。只要我添加第三个表,并尝试拉出另一行,它就会断开!
最终,我要做的是提取图像,dayid,一个人的名字,然后是原因的名称。
原因和原因在同一个表中,人员的名字在表Pilot中,原因的名称在表Outfitday_id中。
由于某种原因,它将从表Outfitimage中拉出前两行(imageUrl,outfitDay_id),然后从Pilot中拉出第三行(name),但如果我添加名称并尝试从Cause表中拉出它,则会失败。
$link = mysql_connect("host","user","pass");
if ($link) {
mysql_selectdb("up",$link);
// Select records from the DB
$query = "SELECT imageUrl,outfitDay_id,name,name FROM OutfitImage,Pilot,Cause ORDER BY Rand(" . date("Ymd") . ") LIMIT 1";
$image = mysql_query($query);
// Display records from the table
echo "";
while ($row = mysql_fetch_array($image, MYSQL_NUM)) {
echo "<IMAGE SOURCE='$row[0]'/><br>";
echo "<div id='info'>Day $row[1] of ";
echo "$row[2] Uniform Project for$row[3] </div>";
}
echo "";
} else {
echo "Can't connect to the database!";
}发布于 2011-03-31 08:39:18
这可能是因为name列是不明确的。我猜您在Cause和Pilot (或其他表)中都有一个name列。MySQL无法猜测您要从哪个表中检索列值,因此将显示一个错误(字段列表中的列名不明确)。
确保使用表名作为列名的前缀,以消除歧义:
SELECT
imageUrl, outfitDay_id, Cause.name, Pilot.name
FROM
OutfitImage, Pilot, Causehttps://stackoverflow.com/questions/5494029
复制相似问题