3

タイプとしてSQL行を作成しました:datetime。

datetime の入力は次のようになります。2013-02-02 10:13:20

次のようなドリルを取得します。0000-00-00 00:00:00

今phpでdate("Y-m-d H:i:s");(現在の日付と時刻)を使用してデータベースに挿入します。他の変数もあります。これらの変数は挿入されますが、datetime 行はそのままです。0000-00-00 00:00:00

日付以外のすべてが機能したときに、最初にこのコードを取得しました。

$resultaat = $mysqli2->query("INSERT INTO questions  (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."','".date("Y-m-d H:i:s")."')");

しかし、データベース内のすべての情報は""それらを回避します.(これにより、日付がジャンプする可能性があります 0000-00-00 00:00:00

他の情報で再度挿入しようとすると、もう挿入されません。私の問題:

  • に設定する日付の本当の問題は何0000-00-00 00:00:00ですか? それは自動""ですか?
  • の場合""、どうすればそれらを失うことができますか?

編集:

Nvm を失い""ました 2 回目の試行で挿入が失敗したのは問題ではありませんでした。- 一度挿入したら、もう挿入されないのはなぜですか?

これらは同じ問題に関するものであるため、実際には異なる質問ではありませんが、これが私のコードです。はい、SQL インジェクションを知っています。後で修正します。

if (isset($_POST['title'])) {
$alles_goed=true;
$description=$_POST['description'];
$title=$_POST['title'];
$username=$_SESSION['username'];

if ($title=''){ 
$alles_goed=false;
echo'title is empty';
}

if($alles_goed==true){
    $resultaat = $mysqli2->query("INSERT INTO questions  (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."','".date("Y-m-d H:i:s")."')");

}
}
4

2 に答える 2

5

これを試して:

$a=date("Y-m-d H:i:s");
if (!$resultaat = $mysqli2->query("INSERT INTO questions  (title, description, username, date_made) VALUES ('$title','$description','$username','$a')"))
{
   printf("Errormessage: %s\n", $mysqli2->error);
   exit;
}

エラーが発生していないかどうかを確認します。

なぜ一度だけ挿入するのかについては、一意のフィールドがある可能性があります。

于 2013-09-26T07:37:05.277 に答える
5

now()MySQLでaを使用するだけです

$resultaat = $mysqli2->query("INSERT INTO questions  (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."',now()");
于 2013-09-26T07:32:45.820 に答える