带有INSERT语句的简单PHP CMS

时间:2015-07-13 00:55:49

标签: php mysql

我有一个简单的php物业租赁系统CMS。现在,我不得不在数据库中添加新属性。

我的数据库:

properties: propertyId, imageId, town, num of rooms etc..

propertyid是主键自动增量,imageId是外键

images: imageId, image (image path with image name) 

imageId是主键自动增量:

所以在我的PHP中,我在向数据库添加新属性时有2个SQL语句(如果不是这样做的话,请纠正我。)

首先插入图像值(“imagepath / imagename.jpg”)。

第二个查询插入属性值(town,numOfrooms等)。

所以我已将图像插入数据库然后我想将属性插入数据库,我点击添加属性后检查错误,

我收到消息“图像已成功保存”到数据库但后来我收到错误说:

  

无法添加或更新子行:外键约束失败:CONSTRAINT properties_ibfk_4 FOREIGN KEY(imageId)REFERENCES imagesimageId))

这是我在第一次插入图像然后插入属性吗?

的正确方法

2 个答案:

答案 0 :(得分:0)

如果您尝试将属性添加到同一行,您刚刚添加了图像,则需要使用UPDATE而不是INSERT 简化示例

UPDATE propertyName WHERE image = imageIJustInserted

一旦您插入/创建了一行,您实际上只能更新它。你不能再插入它了。

答案 1 :(得分:0)

所以我得到了它的工作 我不得不使用$ imageId = mysqli_insert_id($ connection);
其中connection是我的实际数据库连接 我得到了刚刚插入的图像的imageId,然后我可以在第二个插入语句中使用它 感谢