我正在尝试根据我在另一个表中设置的外键来获取user_email。
假设我有一个“用户”表:
用户: id,user_email,user_phone等。
我还有其他表将患者命名为
患者ID,患者名称,医生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:与数据库的连接已经建立。
答案 0 :(得分:4)
您应该使用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'] ;
}
答案 1 :(得分: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'] ;
}
答案 2 :(得分:0)
尝试一下
从用户内部选择加入users.user_email作为名称加入患者 users.id = patients.doctor_id,其中users.id ='1'
答案 3 :(得分:0)
就像错误说的那样, “ 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'] ;
}
答案 4 :(得分:0)
尝试
$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'] ;
}