2017-01-21 39 views
-1

當談到PHP和SQL時,我是一個初學者,所以請原諒我。試圖弄清楚爲什麼我的SQL語句在向tblEmployees.Workgroup傳遞一個變量時不起作用。當我把「CS領先」與變量相比時,它工作得很好。請讓我知道是否需要包含任何其他信息。謝謝!PHP變量不能在SQL查詢中工作

<?php 
include 'header.php'; //Include header 
include 'sidebar.php'; //Include sidebar 

$workgroup = 'CS Lead'; 

$stmt = $db->query("SELECT 
        tblSchedule.CurrentSchedule, 
        tblSchedule.Login, 
        tblSchedule.StartTime, 
        tblSchedule.EndTime, 
        tblSchedule.Sunday, 
        tblSchedule.Monday, 
        tblSchedule.Tuesday, 
        tblSchedule.Wednesday, 
        tblSchedule.Thursday, 
        tblSchedule.Friday, 
        tblSchedule.Saturday, 
        tblSchedule.Lunch_Start, 
        tblSchedule.Lunch_End, 
        tblSchedule.Brk1_Start, 
        tblSchedule.Brk1_End, 
        tblSchedule.Brk2_Start, 
        tblSchedule.Brk2_End, 
        tblSchedule.Brk3_Start, 
        tblSchedule.Brk3_End, 
        tblSchedule.Lunch2_Start, 
        tblSchedule.Lunch2_End, 
        tblSchedule.TM_Day, 
        tblSchedule.TM_Start, 
        tblSchedule.TM_End, 
        tblEmployees.Workgroup 
       FROM tblSchedule 
       LEFT JOIN tblEmployees 
       ON tblSchedule.Login=tblEmployees.Login 
       WHERE CurrentSchedule='Y' AND tblEmployees.Workgroup = ' . $workgroup . ' 
       LIMIT 100"); 

$stmt -> execute(); 
?> 
+0

你需要圍繞字符串常量單引號。但是,你應該真的使用參數來傳遞這些值。 –

+0

根據我的意思更新。還是行不通。 – Aldentec

+0

你會得到什麼錯誤? –

回答

2

使用雙引號...

$stmt = $db->query("SELECT 
        tblSchedule.CurrentSchedule, 
        tblSchedule.Login, 
        tblSchedule.StartTime, 
        tblSchedule.EndTime, 
        tblSchedule.Sunday, 
        tblSchedule.Monday, 
        tblSchedule.Tuesday, 
        tblSchedule.Wednesday, 
        tblSchedule.Thursday, 
        tblSchedule.Friday, 
        tblSchedule.Saturday, 
        tblSchedule.Lunch_Start, 
        tblSchedule.Lunch_End, 
        tblSchedule.Brk1_Start, 
        tblSchedule.Brk1_End, 
        tblSchedule.Brk2_Start, 
        tblSchedule.Brk2_End, 
        tblSchedule.Brk3_Start, 
        tblSchedule.Brk3_End, 
        tblSchedule.Lunch2_Start, 
        tblSchedule.Lunch2_End, 
        tblSchedule.TM_Day, 
        tblSchedule.TM_Start, 
        tblSchedule.TM_End, 
        tblEmployees.Workgroup 
       FROM tblSchedule 
       LEFT JOIN tblEmployees 
       ON tblSchedule.Login=tblEmployees.Login 
       WHERE CurrentSchedule='Y' AND tblEmployees.Workgroup = '$workgroup' 
       LIMIT 100"); 

OR

WHERE CurrentSchedule='Y' AND tblEmployees.Workgroup = {$workgroup} 
+0

這樣做!謝謝! – Aldentec

+0

@Aldentec很樂意爲您效勞。歡迎隨時接受回答。 –