希望我的头衔清楚。我试图从两个表中检索结果。 所以我想从名为'albums'的表中获取所有内容(因此*)。 而且我只希望所有匹配(使用album_id)结果来自表'贡献者'。
$result = mysql_query("SELECT * FROM albums LEFT JOIN contributors ON albums.album_id =
contributors.album_id ORDER BY albums.datum DESC; ") or die(mysql_error());
$aantal_rijen = mysql_num_rows($result);
if ($aantal_rijen > 0) {
for ($i = 0; $i < $aantal_rijen; $i++){
$contributors[] = mysql_result($result, $i, 'contributors');}
但是我得到了类似错误的列表:
在MySQL结果索引中找不到贡献者......
加入两个表对我来说是全新的,也许这不是可行的方法,但也许这只是一个简单的错误,无论如何,我被困在这里,
欢迎所有帮助 thx S
答案 0 :(得分:0)
http://php.net/manual/en/function.mysql-result.php
字段强>
要检索的字段的名称或偏移量。
它可以是字段的偏移量,字段的名称或字段的表点字段 name(tablename.fieldname)。如果列名称有 别名('select foo as bar from ...'),使用别名代替 列名称。如果未定义,则检索第一个字段。
您只是使用表名贡献者,因此您需要指定一个字段或将您的选择限制为只有您想要的字段
$contributors[] = mysql_result($result, $i, 'contributors.name');
OR
$result = mysql_query("
SELECT contributors.*
FROM albums
LEFT JOIN contributors ON albums.album_id = contributors.album_id
ORDER BY albums.datum DESC;
") or die(mysql_error());