使用外键在另一个表中插入图像

时间:2016-07-16 07:38:21

标签: php mysql

我的数据库中有两个表,telephones(id, title, price)images(id, tp_id, photos)我进入images表,并在tp_id列上放置一个外键以匹配{{ 1 {}在id表格中,以便每个图片都链接到telephones。但问题是我的图像很好地进入了表格,但telephone列的值总是为0,我在这里缺少什么?有人可以指导我吗?感谢

PS:我知道我的代码的安全漏洞,我只是在这里做一些测试!

tp_id

3 个答案:

答案 0 :(得分:1)

使用此

获取最后插入的主键值
$last_id = $conn->insert_id;

答案 1 :(得分:1)

您需要使用$conn->insert_id;获取最后一个插入ID表telephones表,并将images表插入

 $sql = "INSERT INTO telephones (title, price) VALUES ('$ad_title', '$ad_price')";                      
            $conn->query($sql);
            $tp_id=$conn->insert_id;// get last insert id

 $sql1 = "INSERT INTO images (photos,tp_id) VALUES ('$ad_photo',$tp_id) ";
            $conn->query($sql1);

注意: - 您的脚本是开放的,用于sql注入检查How can I prevent SQL injection in PHP?以防止它

答案 2 :(得分:1)

问题已经多次回答使用: MySQL: LAST_INSERT_ID()

 $sql = "INSERT INTO telephones (title, price) VALUES ('$ad_title', '$ad_price')";                      
 $conn->query($sql);
 $tp_last_insert_id = $conn->LAST_INSERT_ID;// get last insert id

您应该在插入后立即调用此函数以获取最新添加的ID

 $sql1 = "INSERT INTO images (photos,tp_id) VALUES ('$ad_photo',$tp_last_insert_id) ";
  $conn->query($sql1);