[英]get column with same name from multiple tables
我有兩個表:USERS(id,名稱,電子郵件,密碼)QUESTIONS(id,userid,類型,ques,日期,時間)
我必須將Questions.id的值作為qid傳遞。 我無法使用以下代碼獲得所需的結果。 而不是采用QUESTIONS表的'id'值,而是采用USERS表的'id'值,從而產生錯誤的輸出。
$query = "
SELECT *
, q.id qid
FROM questions q
JOIN users u
ON u.id = q.userid
WHERE type = 'technical'
ORDER
BY date
, time DESC
";
$result = mysqli_query($conn,$query);
while ($row = mysqli_fetch_array($result)) {
$id = $_SESSION['id'];
$ques=$row['question'];
$user = $row['username'];
echo strtoupper($user);
echo "<a href='allview.php?qid=$row[id]' class='class4'> $ques </a>";
}
?>
這段代碼:
$id = $_SESSION['id'];
引用select
的id
列。 該id
來自users表。
您已將問題ID重命名為qid
,因此請嘗試:
$qid = $_SESSION['qid'];
忠告:僅獲取您實際要使用的列:
SELECT u.username, q.id as qid
FROM questions q JOIN
users u
ON u.id = q.userid
WHERE type = 'technical'
ORDER BY date, time DESC;
*
在調試時很方便,但是由於基礎表結構發生了變化,因此代碼有時可能會出乎意料的表現。
嘗試使用此代碼
$query = "
SELECT *
, q.id AS qid,
q.id AS id
FROM questions q
試試這個
$query = "
SELECT *
, questions.id qid
FROM questions q
, users u
WHERE q.userid = u.id
AND type = 'technical'
ORDER
BY date
, time DESC
";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.