12

mysqlに日付を挿入しようとしていますが、失敗し0000-00-00てphpmyadminのように出力されるたびに

私の日付形式は2012-08-06(yyyy-mm-dd)のようなもので、データベースの日付フィールドタイプはですdate

$date = "2012-08-06";
mysql_query("INSERT INTO data_table (title, date_of_event) 
             VALUES('". $_POST['post_title'] ."',
                    '". $date ."')") or die(mysql_error()); 

それらに変更または削除しようとし-まし/たが、機能しません。

4

6 に答える 6

16

試す

$date = "2012-08-06";
$date=date("Y-m-d",strtotime($date));
于 2012-08-06T11:16:07.493 に答える
14

CASTMySQLで関数を試してください:

mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('". $_POST['post_title'] ."',
CAST('". $date ."' AS DATE))") or die(mysql_error()); 
于 2012-08-06T11:17:08.323 に答える
2

「今日」とは異なる日付を挿入する場合を除いて、CURDATE()を使用できます。

$sql = 'INSERT INTO data_tables (title, date_of_event) VALUES ("%s", CURDATE())';
$sql = sprintf ($sql, $_POST['post_title']);

PS!特にmysql_real_escape_string()を介してMySQL入力をサニタイズすることを忘れないでください

于 2012-08-06T11:19:28.807 に答える
0

最初に日付を変換してみてください。

$date = "2012-08-06";

mysql_query("INSERT INTO data_table (title, date_of_event)
               VALUES('" . $_POST['post_title'] . "',
                      '" . $date . "')") 
           or die(mysql_error());
于 2012-08-06T11:20:10.247 に答える
0

スタックしたときにSQLクエリをデバッグする方法

クエリを印刷して、mysqlまたはphpMyAdminで直接実行します

$date = "2012-08-06";
$query= "INSERT INTO data_table (title, date_of_event) 
             VALUES('". $_POST['post_title'] ."',
                    '". $date ."')";
echo $query;
mysql_query($query) or die(mysql_error()); 

そうすれば、問題がPHPスクリプトではなく、SQLクエリにあることを確認できます。

SQクエリに関する質問の送信方法

十分な閉鎖を提供したことを確認してください

  • テーブルスキーマ
  • クエリ
  • エラーメッセージは
于 2012-08-06T11:36:37.737 に答える
-1
$date=$year."-".$month."-".$day; 
$new_date=date('Y-m-d', strtotime($dob)); 
$status=0;  
$insert_date = date("Y-m-d H:i:s");  
$latest_insert_id=0; 

$insertSql="insert into participationDetail (formId,name,city,emailId,dob,mobile,status,social_media1,social_media2,visa_status,tnc_status,data,gender,insertDate)values('".$formid."','".$name."','".$city."','".$email."','".$new_date."','".$mobile."','".$status."','".$link1."','".$link2."','".$visa_check."','".$tnc_check."','".json_encode($detail_arr,JSON_HEX_APOS)."','".$gender."','".$insert_date."')";
于 2017-12-26T07:14:28.487 に答える