Php SQL查询无法工作无法找出原因

Php SQL查询无法工作无法找出原因,php,sql,select,Php,Sql,Select,在我正在开发的一个时间跟踪应用程序中,这个查询失败了,我不知道为什么。Var$userID的正确值为1。每个表和字段的命名应该是正确的,因为我检查了四次 查询: $query= 'SELECT arbeiter.id AS id,'. 'tblMitarbeiterUUID.dtLastname AS dtLastname, ' . 'tblMitarbeiterUUID.dtFirstname AS

在我正在开发的一个时间跟踪应用程序中,这个查询失败了,我不知道为什么。Var$userID的正确值为1。每个表和字段的命名应该是正确的,因为我检查了四次

查询:

$query= 'SELECT arbeiter.id AS id,'.                                
        'tblMitarbeiterUUID.dtLastname AS dtLastname, ' .
        'tblMitarbeiterUUID.dtFirstname AS dtFirstname, ' .
        'FROM arbeiter, tblMitarbeiterUUID ' .
        'WHERE ' .
        'arbeiter.id =' . $userID .' ' .
        'AND arbeiter.start_date < NOW() '.                                         
        'AND (arbeiter.end_date=\"0000-00-00 00:00:00\" '.
        'OR arbeiter.end_date > NOW())';
如果我回显查询,我会得到以下结果:

SELECT arbeiter.id AS id,tblMitarbeiterUUID.dtLastname AS dtLastname, tblMitarbeiterUUID.dtFirstname AS dtFirstname, FROM arbeiter, tblMitarbeiterUUID WHERE arbeiter.id =1 AND arbeiter.start_date < NOW() AND (arbeiter.end_date=\"0000-00-00 00:00:00\" OR arbeiter.end_date > NOW())
尝试将查询直接粘贴到我的sql工具时出现的错误:


附近的SQL语法错误:来自arbeiter,tblmitarbeiteruid,其中arbeiter.id=1和arbeiter.start\u date您在结尾处遇到了一个带有冗余逗号的小语法错误

'tblMitarbeiterUUID.dtFirstname AS dtFirstname, ' 
将其更改为:

'tblMitarbeiterUUID.dtFirstname AS dtFirstname' 

在结尾,你有一个多余逗号的小语法错误

'tblMitarbeiterUUID.dtFirstname AS dtFirstname, ' 
将其更改为:

'tblMitarbeiterUUID.dtFirstname AS dtFirstname' 

投票结束,因为这主要是一个打字错误。但是您还链接到一个名为TBLMITARBEITURUID的表,该表在where子句中没有提及-可能是您不确定的内容。where子句应该保持这种方式。我只需要第一个和最后一个名称来设置代码中的var$username。如果SQL在单引号中,则不需要在\0000-00-00:00\中转义引号,所以,删除这两个“\`”,就是这样!非常感谢,我现在就结束这个问题。非常高兴能得到快速有效的帮助!dtFirstname和FROM之间有一个逗号,只需删除它就可以结束,因为这主要是一个输入错误。但是您还链接到一个名为TBLMITARBEITURUID的表,该表在where子句中没有提及-可能是您不确定的内容。where子句应该保持这种方式。我只需要第一个和最后一个名称来设置代码中的var$username。如果SQL在单引号中,则不需要在\0000-00-00:00\中转义引号,所以,删除这两个“\`”,就是这样!非常感谢,我现在就结束这个问题。非常高兴能得到快速有效的帮助!dtFirstname和FROM之间有一个逗号,请删除它。谢谢。我以为这只是一件小事。我删除了逗号,但仍然出现语法错误:near\0000-00-00 00:00:00\或arbeiter.end\u date>现在删除用于转义的反斜杠解决了问题。多谢,我认为这只是一件小事。我删除了逗号,但仍然出现语法错误:near\0000-00-00 00:00:00\或arbeiter.end\u date>now删除用于转义的反斜杠解决了问题