[英]Fetch Data by connecting two tables : PHP
我正在嘗試根據我在另一個表中設置的外鍵獲取 user_email。
假設在一張表“用戶”中我有:
用戶:id、user_email、user_phone 等。
我還有其他表將患者命名為
patient_id,patient_name,doctor_id。
其中 doctor_id 是用戶表的外鍵。
我有以下代碼:
$query = "SELECT 'users.user_email' as 'name'
FROM users,patients
WHERE 'users.id'='patients.doctor_id' AND 'users.id'='1';
" ;
$result = mysqli_fetch_assoc($conn,$query) ;
while ($row = mysqli_fetch_assoc($result)) {
echo $row['name'] ;
}
問題是它不起作用。 它給出了一個錯誤:
Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given in
C:\xampp\htdocs\joli\data\foreigndata.php on line 10
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null
given in C:\xampp\htdocs\joli\data\foreigndata.php on line 12
PS:與數據庫的連接已經建立。
您應該使用mysqli_query()
來運行查詢,然后mysqli_fetch_assoc()
來獲取結果,如下所示:
$query = "SELECT users.user_email as name
FROM users,patients
WHERE users.id=patients.doctor_id AND users.id=1;
" ;
$result=mysqli_query($conn,$query);
while ($row = mysqli_fetch_assoc($result)) {
echo $row['name'] ;
}
試試這個
選擇 users.user_email 作為 users inner join patients on users.id=patients.doctor_id where users.id='1'
試試這個
$query = "SELECT 'users.user_email' as 'name' FROM users
inner join patients on 'users.id'='patients.doctor_id'
WHERE 'users.id'='1'";
$result = mysqli_query($query);
while ($row = myslqi_fetch_array($result)) {
echo $row['name'] ;
}
就像錯誤所說的那樣,“ mysqli_fetch_assoc() 只需要 1 個參數,其中 2 個給出”
mysqli_fetch_assoc() 只需要 1 個參數,但你傳遞了 2 個。
試試這個。
$query = "SELECT 'users.user_email' as 'name'
FROM users,patients
WHERE 'users.id'='patients.doctor_id' AND 'users.id'='1';
" ;
$result=mysqli_query($conn,$query);
while ($row = mysqli_fetch_assoc($result)) {
echo $row['name'] ;
}
嘗試
$query = "SELECT 'users.user_email' as 'name' FROM users
inner join patients on 'users.id'='patients.doctor_id'
WHERE 'users.id'='1'";
$result = mysqli_query($query);
while ($row = myslqi_fetch_array($result)) {
echo $row['name'] ;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.