gpt4 book ai didi

php - 插入 LAST_INSERT_ID 问题

转载 作者:行者123 更新时间:2023-11-29 06:51:01 26 4
gpt4 key购买 nike

所以我有 2 个查询要在 php 中执行。但是我得到一个错误。第一个查询中的第一个 id 是 auto inc,第二个查询中的第二个 id 不是 auto inc,但它通过外键连接到第一个。我想在查询执行时为它们捕获相同的 id。但是会弹出此错误。

#1452 - Cannot add or update a child row: a foreign key constraint fails (eangele.relationships, CONSTRAINT relationships_ibfk_3 FOREIGN KEY (id) REFERENCES nodes (id) ON DELETE NO ACTION ON UPDATE NO ACTION)

$query = "insert into nodes(id,name,color,type,thumb)".
"values('','$nodename','#EBB056','star','$thumbFile')";
$result = $db -> Execute($query);
$querytwo = "insert into relationships(id,goingto,data)".
"values(LAST_INSERT_ID(),'$category','')";
$resulttwo = $db -> Execute($querytwo);

最佳答案

'LAST_INSERT_ID()' 是文字字符串。您希望在不带撇号的情况下将其用作 values(LAST_INSERT_ID(),

如果这不起作用,您可以使用与您正在使用的 MySQL API 相对应的 php 函数来获取最后的插入 ID。我也只看到它与 SELECT 一起使用。我假设它会像那样与 VALUES 一起工作,但如果它不工作,你总是可以执行插入/选择:

INSERT INTO relationships(id, goingto, data)
SELECT LAST_INSERT_ID(), ?, ''

您的查询容易受到注入(inject)攻击。您应该将它们参数化。

关于php - 插入 LAST_INSERT_ID 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15424238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com