我不知道我做错了什么。它不起作用。
我对此感到震惊。我无法弄明白。
$sql="INSERT INTO hr_daily_claim(date,
site,
from,
to,
rental,
vehicle,
claim_id,
parking,
beverages,
others)
VALUES(:date,
:site,
:from,
:to,
:rental,
:vehicle,
:claim_id,
:parking,
:beverages,
:others)";
$stmt = $db->prepare($sql);
$stmt->execute(array(
':date' => $date,
':site' => $site,
':from' => $from,
':to' => $to,
':rental' => $rental,
':vehicle' => $vehicle,
':claim_id' => $cliamId,
':parking' => $parking,
':beverages'=> $beverages,
':others' => $others ));
请有人帮助我。 它没有给我任何错误。但受影响的行= 0;根本不插入。
下面是表格结构
`id` int(11) NOT NULL AUTO_INCREMENT,
`claim_id` varchar(45) DEFAULT NULL,
`date` varchar(10) DEFAULT NULL,
`site` varchar(45) DEFAULT NULL,
`from` varchar(45) DEFAULT NULL,
`to` varchar(45) DEFAULT NULL,
`rental` int(11) DEFAULT NULL,
`vehicle` int(11) DEFAULT NULL,
`parking` int(11) DEFAULT NULL,
`beverages` int(11) DEFAULT NULL,
`others` int(11) DEFAULT NULL,
`timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
答案 0 :(得分:6)
from
,to
为reserved words。你需要用反引号包装它。
$sql="INSERT INTO hr_daily_claim(
`date`,
`site`,
`from`, //<-------- This
`to`, //<-------- This
`rental`,
`vehicle`,
`claim_id`,
`parking`,
`beverages`,
`others`
)
旁注:$cliamId
中的':claim_id' => $cliamId,
变量中可能有一个拼写错误,可能读作':claim_id' => $claimId,
,因此请检查一下,因为这些变量未在您的问题中发布
如果一个失败,您的整个查询将失败。另外需要注意的是$claimId
和$claimid
不一样。变量区分大小写。
答案 1 :(得分:1)
在引号
之间写下from
和to
个字词
`from`
`to`
就像在表结构代码中一样