PHP&SQL:使用连接查询名称

问题描述:

长时间潜伏者,第一次海报。我遇到了一个问题,我的mySQL数据库中的一个查询在PHP中没有返回任何内容。该查询在使用mySQL数据库时起作用,并且我假设在我的php文件中,但不会打印出任何内容,并返回为false值。任何帮助或提示/技巧,你可以给我的赞赏,我大约一年没有积极使用SQL,我试图在非常有限的时间内尽可能多地学习PHP,所以我的语法可能不正确。我知道我的数据库已连接。PHP&SQL:使用连接查询名称

以下代码在程序中进一步发挥作用。

$patIDQuery=("SELECT ID FROM patients WHERE usernam3='$myusername'"); 
    $patientID=mysqli_query($db, $patIDQuery); 
    $row=mysqli_fetch_assoc($patientID); 
    $user = $row['ID']; 
    $_SESSION['myUserID']=$user; 

在mySQL中,这段代码有效,我试图得到相同的结果。

SELECT medications.CLINNAME FROM medications RIGHT JOIN patientData ON patientData.medID=medications.medID WHERE patientData.ID='*the actual patient id*'; 

代码的问题

<?php 
     $clinNameQ=("SELECT * FROM medications RIGHT JOIN patientData ON 'patientData.medID'='medications.medID' WHERE patientData.ID='$user'"); 
     $clinName=mysqli_query($db,$clinNameQ); 
     $rowClin=mysqli_fetch_assoc($clinName); 
     $clinicalName=$rowClin['CLINNAME']; 
     echo $clinicalName; 
?> 

我一直在瞎搞“”和“”,但似乎没有一直在努力。我想知道是否存在反斜线问题,或者是否(我认为是这样),这是取回问题。

帮助非常感谢!

+1

您已经使用围绕列名的单引号。我认为这是一个印刷错误,并投票结束。 –

+0

@GordonLinoff信不信由你,唯一我不得不去试的是从加入声明中删除单引号,其中我知道我昨天曾经试过。谢谢你提醒我检查一下!它适用于第一种情况,现在我必须构建其余部分。 –

+0

请记住使用back tics来引用列和表名称,值为单引号或双引号。 –

似乎带有引号的问题,https://*.com/a/11321508/287948

尝试

$clinNameQ=(" 
     SELECT * 
     FROM medications RIGHT JOIN patientData 
       ON `patientData.medID`=`medications.medID` 
     WHERE patientData.ID='$user' 
    "); 

您可以从查询字符串中删除`报价:

$clinNameQ = "SELECT * 
    FROM medications 
    RIGHT JOIN patientData ON patientData.medID=medications.medID 
    WHERE patientData.ID='$user'";