簡體   English   中英

使用 php 和 sql 顯示內連接的結果

[英]Display results from inner join with php and sql

我有以下帶有列名的表格:

rides: id, creator, title, datetime, city, state, details
states: id, state, image
user: id, username, name, password, email, city, state

我有以下 php/sql 代碼使用內部聯接從表中獲取信息:

$sql = "select * from ((rides inner join states on rides.state = states.id) inner join user on rides.creator = user.id) where rides.id=" . $ride;
$result = mysqli_query($dbcon, $sql);
$row = mysqli_fetch_assoc($result);

我遇到的問題是我想顯示狀態表中的狀態字段、用戶表中的用戶名字段以及游樂設施中的所有其他信息,但我不確定如何執行此操作。 我嘗試了以下方法來顯示狀態,但沒有用:

echo $row['state']; //this displays the state field from the rides table
echo $row['states.state']; //this displays nothing

我的想法是,因為不同的表具有相同的列名,所以它會從第一個 (rides) 表中獲取信息。 這樣對嗎? 如果是這樣,有沒有辦法讓它引用不同的表,或者我是否需要重命名列以便它們具有不同的名稱?

任何幫助表示贊賞。

選擇您想要的字段:

select rides.*, states.state, user.username
. . .

現在,連接不需要括號。 表別名使查詢更易於編寫和閱讀。 最后,你應該學會使用參數。 因此,查詢應如下所示:

select r.*, s.state, u.username
from rides r inner join
     states s
     on r.state = s.id inner join
     user u
     on r.creator = u.id
where r.id = ?

? 是參數的占位符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM