2015-02-24 2 views
-1

Я новичок в php, и я самоучка сама, так как мне нужно. Теперь мне трудно вставить дату в базу данных. Как правильно вставить дату в базу данных? Я проверил мою базу данных, но поле даты имеет только нули. Я был бы признателен, если бы кто-то помог мне исправить мою проблему. Вот мой код.Вставка/обновление даты в PHP

<?php 
if(isset($_POST['submit'])){                
    $fn=$_POST['firstname']; 
    $mi=$_POST['mi']; 
    $ln=$_POST['lastname']; 
    $dn=$_POST['nname']; 
    $age=$_POST['age']; 
    $bio=$_POST['about']; 
    $bday=$_POST['date']; 
    $gnd=$_POST['gender']; 
    $loct=$_POST['loc']; 
    $query = mysql_query("UPDATE user 
         SET firstname='$fn', 
          minitial='$mi', 
          displayName='$dn', 
          age='$age', 
          lastname='$ln', 
          bio='$bio', 
          location='$loct', 
          birthdate='$bday' 
         WHERE username='$user'"); 
} 
?> 
+1

Конвертировать дату в Y-m-d формате и хранить в базе данных. –

+0

поэтому В чем вопрос? – student

+0

Прежде всего, не делайте таких запросов. Используйте подготовку и привязку операторов с помощью [подготовленных отчетов PDO] (http://docs.php.net/pdo.prepared-statements). – Cunning

ответ

0

использовать этот код

$fn=$_POST['firstname']; 
$mi=$_POST['mi']; 
$ln=$_POST['lastname']; 
$dn=$_POST['nname']; 
$age=$_POST['age']; 
$bio=$_POST['about']; 
$bday=date("Y-m-d", strtotime($_POST['date'])); 
$gnd=$_POST['gender']; 
$loct=$_POST['loc']; 
$query = mysql_query("UPDATE user SET firstname='$fn', minitial='$mi', displayName='$dn', age='$age', lastname='$ln', bio='$bio', location='$loct', birthdate='$bday' WHERE username='$user'"); 

mysql_query получил устаревшим PHP5.5 поэтому вы должны избегать его использования и прямых запросов. Для реального мира и живого проекта вы должны использовать PDO (объект данных PHP), чтобы избежать sql injection.

+1

Не делайте этого, если вы хотите избежать SQL-инъекций! Используйте подготовленные заявления PDO или, по крайней мере, избегайте всех ваших переменных для вставки. –

+0

. Я согласен с вами, но задавайте вопросы этой строкой. «Я новичок в php, и я самоучкой» заставил меня ответить на него таким образом. –

+1

@yiiframe ужасное оправдание , Всегда учите и проповедуйте лучшие пути. Легче освоить лучший способ начать, чем избавиться от дурной привычки. –