麻烦的mySQL和OR语句

时间:2018-03-16 03:36:45

标签: php mysql

我有一个mysql语句给我一个错误。它看起来对我来说,但显然我错过了一些东西,我一直没有看到它。我的代码是这样的

$PlusHour = date('gA', strtotime("+1 hours"));

$Plus30 = date('g:30A', strtotime("+1 hours"));

$SearchDate = "CURDATE()";

$sqlCount = "SELECT COUNT (*) FROM ServiceTickets WHERE Date= $SearchDate AND Time= $PlusHour OR Time= $Plus30 AND JobStatus= '1' OR JobStatus= '3' ";

$CountQuery = mysqli_query($db_conx, $sqlCount) or die("Error: ".mysqli_error($db_conx));

$rowCount = mysqli_fetch_row($CountQuery);

我得到的错误是

  

错误:您的SQL语法出错;检查手册   对应于您的MariaDB服务器版本,以获得正确的语法   靠近'*)FROM ServiceTickets WHERE Date = 2018-03-15 AND Time = 11PM OR   时间= 11:30 PM''在第1行

我在这里做错了什么。我的AND OR是如何构建的?

1 个答案:

答案 0 :(得分:1)

您的查询中有COUNT (*)的空格。

请仅删除。

您还需要在$PlusHour$Plus30

附近加上引号

您的查询将是,

$query = "SELECT COUNT(*) FROM ServiceTickets WHERE Date= $SearchDate AND Time= '$PlusHour' OR Time= '$Plus30'r AND JobStatus= '1' OR JobStatus= '3' "