Хорошо, ниже приведен полный код php для этого
$sql = "
SELECT text
, creator
, (SELECT name
FROM accounts
WHERE id IN (SELECT creator
FROM groupcomments
WHERE `group` = '$viewgroupid'
) AS account_name
, (SELECT lastname
FROM accounts
WHERE id IN (SELECT creator
FROM groupcomments
WHERE `group` = '$viewgroupid'
)
) AS account_lastname
, (SELECT role
FROM accounts
WHERE id IN (SELECT creator
FROM groupcomments
WHERE `group` = '$viewgroupid'
)
) AS account_role
, (SELECT picture
FROM accounts
WHERE id IN (SELECT creator
FROM groupcomments
WHERE `group` = '$viewgroupid'
)
) AS account_picture
, (SELECT id
FROM accounts
WHERE id IN (SELECT creator
FROM groupcomments
WHERE `group` = '$viewgroupid'
)
) AS account_id
FROM groupcomments
WHERE `group`='$viewgroupid'
";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$gc_text = $row['text'];
$u_name = $row['account_name'];
$u_lastname = $row['account_lastname'];
$u_userid = $row['account_id'];
$u_picture = $row['account_picture'];
$u_role = $row['account_role'];
include 'files/social/groupcomment.php';
}
//
}
По сути, это то, что предполагается сделать, это выбрать данные из таблицы accounts
и из таблицы groupcomments
, а затем включить файл, который будет отображать имя и фамилию, это прекрасно работает, когда в таблице * есть только одна строка groupcomments
но как только я добавляю еще одну строку, я получаю следующую ошибку: Subquery returns more than 1 row in htdocs/group.php:134 Stack trace: #0 htdocs/group.php(134): mysqli->query('SELECT text, cr...') #1 {main} thrown in htdocs/group.php on line 134
и в строке 134: $result = $conn->query($sql);
Как я могу заставить это работать с более чем одной строкой?