2017-04-26 109 views
3

長時間潛伏者,第一次海報。我遇到了一個問題,我的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來引用列和表名稱,值爲單引號或雙引號。 –

回答

0

似乎帶有引號的問題,https://stackoverflow.com/a/11321508/287948

嘗試

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

您可以從查詢字符串中刪除`報價:

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