2016-11-30 8 views
0

ClassID、TestID、およびDeadlineをデータベーステーブルに挿入しようとしていますが、私の日付の形式でINSERTクエリが機能しないようです。私はこの方法で変換しようとしましたが、動作しません。関数を実行すると、 "データを挿入できません"が返されます。私は、関数内で$日付をエコーするとき、それは与える:2016年12月1日日付をmysql形式に変換できない

My機能を:

public function createAssignment($theClassID,$dueDate) 
{ 
    $testID = $_SESSION['currentTestID']; 

    $date = mysql_real_escape_string($_POST['dueDate']); 
    $date = date('Y-m-d', strtotime($date)); 

    echo $date; 

    $sql="INSERT INTO settest (ClassID, TestID, Deadline) VALUES ('$theClassID', '$testID', $date)"; 
    $result = mysqli_query($this->db,$sql) or die(mysqli_connect_errno()."Data cannot be inserted"); 
    return $result; 
} 
+0

デッドラインフィールドのデータタイプは何ですか –

+1

すべてのパラメータに正しいタイプ(MySQLなど)がありますか? mysql_real_escape_stringがmysqli_queryで動作するかどうかわからない –

+0

mysql_real_escape_stringが動作するかどうかわからない – e4c5

答えて

0

悪いです。同じデータを複数回入力していたため、複合キーが繰り返されていました。現在は動作しています

0

あなたは、SQLクエリの$date変数に単一引用符を追加する必要があります。

$sql="INSERT INTO settest (ClassID, TestID, Deadline) VALUES ('$theClassID', '$testID', '$date')"; 
+0

ちょうどそれも気づいていますが、一度引用符を追加すると同じエラーが発生します。 –

関連する問題