2017-09-24 7 views
-1

にこのコードは、私は私のデータベースにDateを取得するために使用され、その年を取得し、私が唯一のデータベースにYearを取得。私はHTMLの入力タイプ=「日付」からのデータベース

$query = "INSERT INTO tablename(date) 
VALUES('{$date}')        

は、あなたのデータベースを持っている:私は、データベースへのクエリが(自分のIDが自動インクリメントであると仮定した場合)などとしてフォーマットする必要があります。また、私のデータベースへdd/mm/yyyy

<?php 
    $conn=mysqli_connect("localhost","root","","home_ac"); 
    if(mysqli_connect_error()) { 
     die("Error While Connecting Database"); 
    } 
    $date = ($_POST['date']); 
    $query= "INSERT INTO `sample`(`id`, `date`, `currency`) VALUES (NULL,$date,'$date')"; 
     mysqli_query($conn, $query) 

?> 

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
</head> 

<body> 
<form method="post"> 
    <input type="date" name="date" placeholder="Date"> 
    <input type="submit" value="ADD"> 
</form> 
</body> 
</html> 
+0

これをチェックしてください(https://stackoverflow.com/a/45781679/3898339) 'strtotime'を使用して、テーブルの列のデータ型を日付 –

+0

に変更してください。テーブルのカラムタイプを共有する必要があります。どこに日付と年を保存したいですか?同じ列で、または別々に?あなたの質問に答えることは大変重要です。 –

+0

My Columnデータ型はdatetimeです。 –

答えて

0
if(isset($_POST['date'])){ 
$date = $_POST['date']; 
} 

を取得するために必要なものを変更DATE形式を受け入れるようにフォーマットされています。

-1

この例では、理想的には、入力日付ボックスが表示されます。

<label>Datetime: 
<input type = "datetime"-local /> 
    (yyyy-mm-ddThh:mm, such as 2012-01-27T03:15) 
</label> 
0

あなたが挿入しようとしている日付が正しい形式であることを確認する必要があります。 :MySQLはyyyy-mm-dd

  • あなたdateフィールドはあなたが変換するために、これを行うことができますdateタイプではなく、datetimeまたはtimestamp
  • で望んでいる - これは、ユーザーがmm/dd/yyyyまたはdd/mm/yyyyのような日付を入力

    • を想定しています

      $conn = mysqli_connect('localhost', 'root', '', 'home_ac'); 
      $date = $_POST['date']; 
      $date = date("Y-m-d", strtotime($date)); //Would convert mm/dd/yyyy or dd/mm/yyyy or mm/dd/yy, etc. into yyyy-mm-dd for you. 
      
      if(mysqli_connect_error()) { 
          die("Error While Connecting Database"); 
      }; 
      
      $query = "INSERT INTO `sample`(`id`, `date`) VALUES (NULL, '$date');"; 
      mysqli_query($conn, $query); 
      

      あなたの頭文字クエリは、ユーザーが入力しフィールドとしてあなたのhtmlでそれを持っていなかったように私には含まれていなかったこと、フィールド、currencyが含まれています。私はあなたがrootの有効なパスワードを持っていると推測しています(あなたの接続はそれを含んでおらず、rootパスワードは悪いことではありません)。

      また、あなたのユーザが有効な日付などを入力していることを確認してください

      テーブルレイアウトをの日付MySQL reserved wordと再考したい場合があります。あなたはそれを使うことができますが、常にそれをバックティックで囲むようにしなければなりません。

    関連する問題