我一直用这个把头撞到墙上:
$insertdates = "INSERT INTO dates (asid,acq_date, serv_guaranteedate , maintenance_period, expiration_date) VALUES ('$foreignkey','$uservalues[1]' ,'$uservalues[4]','$uservalues[5]','$uservalues[3]')"; $upsdasult= mysql_query($insertdates);
在insert和$ foreignkey格式正确之前,所有值的格式都是正确的。 (我已经在插入语句之前回显了值) 该操作成功运行,但是当我查看数据库时,没有插入任何内容。
有人可以告诉我我做错了什么吗?
答案 0 :(得分:3)
您必须使用花括号来嵌入数组变量:
echo "This is an {$array['value']}";
答案 1 :(得分:1)
使用
$insertdates = "INSERT INTO dates (asid,acq_date, serv_guaranteedate,
maintenance_period, expiration_date)
VALUES ('".$foreignkey."','".$uservalues['1']."','".$uservalues['4'].
"','".$uservalues['5']."','".$uservalues['3']."')";
$upsdasult= mysql_query($insertdates);
答案 2 :(得分:0)
如果你这样做
$insertdates = "INSERT INTO dates (asid,acq_date, serv_guaranteedate
, maintenance_period, expiration_date)
VALUES ('$foreignkey','$uservalues[1]','$uservalues[4]'
,'$uservalues[5]','$uservalues[3]')";
$upsdasult= mysql_query($insertdates);
if (!$upsdasult)
{
die(mysql_errno($link) . ": " . mysql_error($link). "\n");
}
它可能不喜欢键或日期格式,但这会告诉你。
答案 3 :(得分:0)
检查$ _POST值
尝试此查询:
$query = sprintf("INSERT INTO dates set
asid = '%s',
acq_date = '%s',
serv_guaranteedate = '%s',
maintenance_period = '%s',
expiration_date = '%s'",
mysql_real_escape_string($foreignkey),
mysql_real_escape_string($uservalues[1]),
mysql_real_escape_string($uservalues[4]),
mysql_real_escape_string($uservalues[5]),
mysql_real_escape_string($uservalues[3])
);
$ result = mysql_query($ query);
if($result) { echo 'success'; } else { echo mysql_error(); }
答案 4 :(得分:0)
将mysql_error()留空.....使用以下代码....
$upsdasult= mysql_query($insertdates) or die(mysql_error());
你不需要剩下的代码......
我认为您已从此页http://php.net/manual/en/function.mysql-error.php复制了相同的查询。但是mysql_error会为你打印错误代码....
请尝试这个,让我知道这是你正在寻找的......
答案 5 :(得分:-1)
不是你的FK值应该是整数而不是字符串吗?如果您不使用'$foreignkey'
但仅使用$foreignkey
?