我的数据库中有两个表,telephones(id, title, price)
和images(id, tp_id, photos)
我进入images
表,并在tp_id
列上放置一个外键以匹配{{ 1 {}在id
表格中,以便每个图片都链接到telephones
。但问题是我的图像很好地进入了表格,但telephone
列的值总是为0,我在这里缺少什么?有人可以指导我吗?感谢
PS:我知道我的代码的安全漏洞,我只是在这里做一些测试!
tp_id
答案 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);