phpMyAdmin の下のテーブル構造を見ると、次の構造になっています。
Type - time
NULL - Yes
Default - NULL
では、なぜ単純なINSERT INTO
...を実行すると、入力している値がnull
. タイプについては同じ問題がありますがint
、varchar についてはありません。
編集 - 以下を追加しました。
mysql の zip は int 型 (デフォルトNULL
)、mysql の st_time は time 型 (デフォルトNULL
) です。コードをテストしましたが、zip では機能しますが、.zip では機能しませんst_time
。
if($zip == NULL){
$zip = 'NULL';
}
if($st_time == NULL){
$st_time = 'NULL';
}
$cont=mysql_query("INSERT INTO mytable(zip,st_time)VALUES($zip, $st_time)");
どうやら問題を解決するこのコードをstackoverflowで見つけましたが、以下のコードを使用して複数の値を挿入する方法がわかりません。
mysql_query("INSERT INTO cb (name) VALUES (" . ($name == null ? "NULL" : "'$name'") . ")");
EDIT TAKE 2 with solution (警告 - それは醜いです)
if($zip == NULL){
$zip = 'NULL';
}
if($st_time == NULL){
$st_time = 'NULL';
}
else{
$st_time = "'".$st_time."'";
}
$cont=mysql_query("INSERT INTO mytable(zip, st_time)VALUES($zip, $st_time)");