Jim Clinton Ответов: 1

Нулевая дата и время помогают! ! ! !


Привет, у меня проблема, когда я вставляю дату и время, оно будет выглядеть как ноль.

Вот мой столик

post_id | инт ПК
cat_id | инт
категории | varchar
сообщение / текст
trn_date | dateandtime
postedby | varchar

Что я уже пробовал:

<?php

$id = $_GET['ID'];


$action = isset($_POST['action']) ? $_POST['action'] : "";

if($action=='create'){ 



include 'dbconnect.php';



$query = "insert into tbltopics

set


categories = '".$con->real_escape_string($_POST['categories'])."',

message = '".$con->real_escape_string($_POST['message'])."',

trn_date = '".$con->real_escape_string($_POST['trn_date'])."',




postedby = '".$con->real_escape_string ($_SESSION['Username'] )."'";



if( $con->query($query) ) {



}else{



echo "<center>Database Error: Unable to create record.</center>";

}


$con->close();

}

?>





<br><br>
<center><form action='#' method='post' border='0' autocomplete='on'>
  
<table>
<tr>

<td>Categories</td>

<td><input rows="6" cols="100" type='text' name='categories' required='required' > </td>

<tr>


<tr>

<td>Question</td>

<td><textarea rows="6" cols="100" type='text' name='message' required='required' /></textarea></td>

<tr>

<td></td>

<td>

<input type='hidden' name='action' value='create' />

<input class='btnE' type='submit' value='Post' />



</td>

</tr>

</table>

</form></center>




</body>

</html>

Bryian Tan

Является ли dateandtime допустимым типом данных? Дата и время?

Jim Clinton

да

1 Ответов

Рейтинг:
0

Jochen Arndt

Это (установка поля datetime в ноль) происходит, когда переданная строка не распознается MySQL как допустимая строка datetime.

Чтобы избежать проблем, передайте даты в формате YYYY-MM-DD HH:MM:SS (этот ISO 8601-Википедия[^] формат).

Если у вас есть PHP DateTime ценность, польза РНР: типа datetime::формат - руководство по эксплуатации[^] с форматом Y-m-d H:i:s.

Если у вас есть строка, которая не находится в этом формате (или формате, для которого настроен MySQL), вы должны сначала преобразовать ее. Воспользуйся PHP: DateTime:: createFromFormat-Manual[^] если вы знаете формат, и он всегда один и тот же.

Лучший вариант-позволить форме, вызывающей ваш скрипт, передать datetime в вышеупомянутом формате.