我是全新的MySQL。看起來好像我需要在MySQL請求中做某種循環,但我認爲對於某些「INNER JOIN」內容可能會更有效。如何在不依賴PHP循環的情況下執行此查詢?
這是我的PHP代碼:
$query = 'SELECT id FROM membres WHERE pseudo = :pseudo LIMIT 1';
$req = $dtb -> prepare($query);
$req -> execute(array(
'pseudo' => $_COOKIE['pseudo']
));
while($donnes = $req -> fetch()){
$id_pseudo = $donnes['id'];
}
$req -> closeCursor();
$query = 'SELECT id_chanson FROM samples WHERE id_membre = :id_pseudo';
$req = $dtb -> prepare($query);
$req -> execute(array(
'id_pseudo' => $id_pseudo
));
$id_chansons = array();
while($donnes = $req -> fetch()){
$id_chansons[] = $donnes['id_chanson'];
}
$req->closeCursor();
$nSongs= count($id_chansons);
$query = 'SELECT nom, pathName, date FROM chansons WHERE id = :id_chanson';
$req = $dtb -> prepare($query);
for($i=0;$i<$nSongs;$i++){
$req -> execute(array(
'id_chanson' => $id_chansons[$i]
));
while($donnes = $req -> fetch()){
$nomChanson[$i] = $donnes['nom'];
$pathName[$i] = $donnes['pathName'];
$date[$i] = $donnes['date'];
}
}
編輯:我的表名是 「香頌」(法語歌曲) 「membres」(用戶)和 「樣本」
:)
歡迎來到Stack Overflow。感謝您格式化您的代碼。如果你談論你想要做的SQL查詢和表結構,這將會有所幫助。你在PHP中而不是在MySQL中循環。 – John
我已經編輯了你的問題了一點......它還說你在找什麼? – John
是的!太棒了!! :) ty編輯 – pufmaigre