在php内部使用mysql

在php内部使用mysql,php,mysql,sql,Php,Mysql,Sql,我正在使用php和mysql。 我在努力完成的事情上遇到了问题。 基本上,我想检查在提交表单时是否有3条或更多包含给定日期的记录。 我想从表单中插入新记录。(这是有效的) 然后检查表格,查看时间是否与表单中的日期一起出现3次或更多次。如果是的话,我想在另一个表中创建一个条目,该表保存阻塞的时间,以便它们不可访问。表单从第二个表中读取以填充允许的时间下拉列表。 我不确定该怎么做 这是我用于插入的代码: try { $sql = "INSERT INTO logTable (logDate

我正在使用php和mysql。 我在努力完成的事情上遇到了问题。 基本上,我想检查在提交表单时是否有3条或更多包含给定日期的记录。 我想从表单中插入新记录。(这是有效的) 然后检查表格,查看时间是否与表单中的日期一起出现3次或更多次。如果是的话,我想在另一个表中创建一个条目,该表保存阻塞的时间,以便它们不可访问。表单从第二个表中读取以填充允许的时间下拉列表。 我不确定该怎么做

这是我用于插入的代码:

try 
{
    $sql = "INSERT INTO logTable (logDate, logTime, logProgram, logInterest) VALUES (:date,:time,:program,:interest)";
    $stmt = $db->prepare($sql);
    $stmt->execute(array(':date' => $newDate, ':time' => $formData->tour_time, ':program' => $formData->program, ':interest' => $formData->selected_interests));

}
 catch(PDOException $ex) 
{
    echo "Cannot connect to the database, please try again at a later time.";
}
该代码用于插入

我需要检查同一日期发生三次或三次以上的任何时间的日志表

这就是我尝试这样做的方式,但它不起作用:

$originalDate = $formData->tour_date;
$newDate = date('Y-m-d', strtotime($originalDate));
$thisTime = $formData->log_time
$response = mysql_query("SELECT * FROM logTable WHERE logDate = $newDate AND logTime = $thisTime");
$num_rows = mysql_num_rows($response);

if($num_rows > 2)
{
     $query2 = "INSERT into blockedTimes (blockedDate, blockedTime) VALUES ($newDate, $thisTime)";
if(mysql_query == false)
{
    $aryResponse = array('status' => 'error', 'error'=>'Could not connect to the database. ');
    ob_clean();
    print json_encode($aryResponse);
    exit();
}
}

我不明白这为什么不起作用。请帮忙

您需要使用parameters.Sidenote。
$thisTime=$formData->log\u time
中缺少结尾分号有什么原因让你混合使用PDO和mysql调用?只使用PDO.Plus,因为您处理的是字符串,所以这个
和logTime=$thisTime
和这个
值($newDate,$thisTime)
应该用引号括起来
和logTime='$thisTime'
值('$newDate','$thisTime')
-修改这些值并重试。您的
选择
查询的问题是您忘记引用日期。但是,如果使用PDO和参数化查询,这不会是问题。