1

ページからメソッド投稿データを取得し、このようにテーブルに挿入します`

$b = $_POST['birth'];
//when i write echo $b; it prints 2013-10-13, i normally get data from page

$query = "INSERT INTO MEMBERS VALUES" .
    "('$firstname', '$lastname', $b, '$login', '$password')";

if (!mysql_query($query, $db_server))
 echo "INSERT failed: $query<br />" . mysql_error() . "<br /><br />";

そして私のテーブルは

f_name VARCHAR(32) NOT NULL,
l_name VARCHAR(32) NOT NULL,
birthday DATE NOT NULL,
login_id VARCHAR(32) NOT NULL,
password VARCHAR(32) NOT NULL,
PRIMARY KEY (login_id)

しかし、時刻が 0000-00-00 に設定されています。理由はわかりません。

4

2 に答える 2

1

MySQL では、すべてのデータを引用符 (一重引用符または二重引用符) で囲むときに間違いを犯すことはおそらくないでしょう。

$query = "INSERT INTO MEMBERS VALUES" .
"('$firstname', '$lastname', $b, '$login', '$password')";

は一重引用符で囲む$b必要があります。日付文字列です。引用符で囲まないと、MySQL はおそらく "2013 マイナス 10 マイナス 13" を計算し、1990 を取得して次のように考えます。 NULL を使用できないため、最良の推測です。

于 2013-10-13T17:52:38.020 に答える
0

Glavić が言うように、Date 型は PHPから文字列形式にする必要がある ため、単一引用符 '$date' で囲み、すべてのクエリを二重引用符で囲む必要があります。フェチャや日付型。後述の値を参照してください。$consulta="INSERT INTO registro(Id,Fecha,Cliente,Producto,Conductor,Remolque,Viaja) VALUES(Null,'$Fecha','{$Cliente}','{$Producto}','{$Conductor}','{$Remolque}','{$Viaja}')";'$fecha'

于 2014-03-30T04:54:54.677 に答える