У меня есть базы данных SQL с таблицей, как это:PHP Выберите и DateTime формат
<pre>SubmissionId | FormId | DateSubmitted | UserIp |</pre>
<pre>1234 | 88 | 2014-07-25 21:47:45 | 192.168.1.5 |</pre>
<pre>1235 | 33 | 2014-07-25 17:22:21 | 10.90.1.64 |</pre>
<pre>1236 | 54 | 2014-07-25 09:43:12 | 192.168.1.32 |</pre>
<pre>1237 | 89 | 2014-08-20 11:13:44 | 10.88.45.5 |</pre>
Типы данных:
SubmissionId является Int (11) AUTO_INCREMENT
FormID является Int (11)
Дата отправки is datetime
UserIp является VARCHAR (15)
Задача: У меня есть ассоциативный массив, откуда я могу получить значения FormID, DateSubmitted и UserIp. (массив $ data) И используя эти значения, я должен найти SubmissionId.
Так у меня есть такой код:
$res1 = $data['FormId'];
$res2 = $data['DateSubmitted'];
$res3 = $data['UserIp'];
$query = "SELECT `SubmissionId` FROM `my_table1` WHERE `FormId` = '".$res1."' AND DATE(`DateSubmitted`) = DATE('".$res2."') AND `UserIp`='".$res3."'";
$db->setQuery($query);
$res11 = $db->loadResult();
//Update the value in another table
$db->setQuery("UPDATE `my_table2` SET `FieldValue` = '".$res11."' WHERE `FieldName`='SubmissionNumber' AND `Name`='Test1'");
$db->query();
Итак, как вы видите, код получает значения DateSubmitted и получает только дату без времени. Таким образом, поиск имеет неправильный результат, если у меня есть несколько равных дат. Мне нужно изменить код, чтобы использовать всю ценность datetime. Мне тоже нужно использовать время.
Поэтому я не знаю, какую функцию использовать, чтобы мой запрос SELECT работал правильно.
Вы можете мне помочь?