我一直用这个把头撞到墙上:
$lockdates = "LOCK TABLES dates WRITE'"; $lockresult2= mysql_query($lockdates); $pickassssult= (int)$pickassssult; $uservalues[5]= (int)$uservalues[5]; if (is_int($uservalues)) { echo "is integer\n"; } else { echo "is not an integer\n"; } var_dump(is_int($pickassssult)); $insertdates = "INSERT INTO dates (asid,acq_date, serv_guaranteedate , maintenance_period, expiration_date) VALUES ('$pickassssult','$uservalues[1]','$uservalues[4]' ,'$uservalues[5]','$uservalues[3]')"; $upsdasult = mysql_query($insertdates); echo $insertdates; if (!$upsdasult) { die(mysql_errno($link) . ": " . mysql_error($link). "\n"); } //UNLOCK TABLES $unlockresult=mysql_query($unlockasset);
在insert和$ foreignkey格式正确之前,所有值的格式都是正确的。 (我已经在插入语句之前回显了这些值。)
这是我在回复查询时得到的结果:
INSERT INTO dates
(asid,acq_date, serv_guaranteedate, maintenance_period, expiration_date)
VALUES
('47','2008-01-29','2050-03-07','34','2069-12-22')
这是我得到的警告:
警告:mysql_error()期望参数1为资源,在....中给出为空
我已经检查过这些值符合表的要求(INT(11),DATE,DATE,INT(3),DATE)并且PK是自动增量的。据我所知,当实际命令运行时,FK值消失,我不明白为什么......