我正在使用PDO将值插入到我的表中,如下所示: p>
$ query =“INSERT INTO Maps(meetingId,street,city,code,centerLat,centerLon,zoom,markerVisible,markerLat,markerLon)VALUES(:meetingId,:street,:city,:code,:centerLat,:centerLon ,:zoom,:markerVisible,:markerLat,:markerLon)“;
$ paramArr = array(
”:meetingId“=> intval($ mapInfo ['meetingId']),
”:street“ => $ mapInfo ['street'],
“:city”=> $ mapInfo ['city'],
“:code”=> $ mapInfo ['code'],
“:zoom “=> $ mapInfo ['zoom'],
”:centerLat“=> $ mapInfo ['center'] ['lat'],
”:centerLon“=> $ mapInfo ['center'] ['lon'],
“:markerVisible”=> $ mapInfo ['marker'] ['visible'],
“:markerLat”=> $ mapInfo ['marker'] ['lat'],
“:markerLon”=> $ mapInfo ['marker'] ['lon']
);
$ db = $ this-> databaseManager - > getDB();
$ query = $ db-> prepare($ query);
foreach($ paramsArray as $ key => $ value){
$ qu ery-> bindParam($ key,$ value,PDO :: PARAM_INT);
}
code> pre>
当我执行此查询时,我得到: p>
SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束 p>
blockquote>
meetingId是外键但我在相关表中添加了100%确定存在的密钥。 这个键是int类型。 p>
另一方面,如果我删除第一个变量并在其位置键入正确的id(我再次确定存在)我得到 p>
SQLSTATE [HY000]:常规错误 p>
blockquote>
我在这里遗漏了什么吗? p>
DIV>