Avatar billede RasmusTheR Seniormester
08. februar 2020 - 15:44 Der er 1 kommentar og
2 løsninger

Vis udtræk fra SQL join med sammenfaldende navne.

Jeg har lavet et SQL udtræk med JOIN mellem to tabeller, det virker fint, men begge tabeller har et felt som hedder "id". Hvordan kan jeg angive, hvilket af de to "id"-felter jeg vil bruge i nedenstående eksempel?
Lige nu tager den "id" fra "bruger"-tabellen.

$sqli1 = "
SELECT score.*, bruger.*
FROM score
INNER JOIN bruger ON score.brugerID=bruger.id ";
$result1 = $conn->query($sqli1);

while($row1 = $result1->fetch_assoc()) {
        echo $row1["id"] . "<br>";   
}
Avatar billede arne_v Ekspert
08. februar 2020 - 16:27 #1
SELECT score.id AS score_id,bruge.id AS bruger_id, ...

$row['score_id']
$row['bruger_id']
Avatar billede olsensweb.dk Ekspert
08. februar 2020 - 16:27 #2
du kunne give id'erne et alias i din select

https://www.w3schools.com/sql/sql_alias.asp

$sqli1 = "SELECT score.*, bruger.*, score.id as score_id, bruger.id as bruger_id
FROM score
INNER JOIN bruger ON score.brugerID=bruger.id ";

en anden ide kunne være at bruge prepare statement
https://www.computerworld.dk/uploads/eksperten-guider/1480-Prepared-Statements-under-MySQLI-kom-igang.pdf
Avatar billede RasmusTheR Seniormester
08. februar 2020 - 16:59 #3
Perfekt, det virker nu som det skal :-)

1000-tak til jer begge.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester