2017-01-21 36 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很乐意为您效劳。欢迎随时接受回答。 –