OUTPUT子句在PHP中获取返回值
在做了一些研究之后,我想我需要输出子句。基本上,当我收到上传到服务器的文件的位置时,我使用下面的SQL并插入到指定的表中。当我上传到表中时,ID是一个自动递增字段和主键OUTPUT子句在PHP中获取返回值,php,mysql,sql,output-clause,Php,Mysql,Sql,Output Clause,在做了一些研究之后,我想我需要输出子句。基本上,当我收到上传到服务器的文件的位置时,我使用下面的SQL并插入到指定的表中。当我上传到表中时,ID是一个自动递增字段和主键 $conn = mysqli_connect($DBHOSTmy, $DBuser, $DBpass, $DBmy) or die("An error occurred connecting to the database " . mysqli_error($conn)); $query = "INSERT INTO ebwf
$conn = mysqli_connect($DBHOSTmy, $DBuser, $DBpass, $DBmy) or die("An error occurred connecting to the database " . mysqli_error($conn));
$query = "INSERT INTO ebwf (src,loc,iq,wq,pq) OUTPUT Inserted.id, Inserted.src, Inserted.loc, Inserted.iq, Inserted.wq, Inserted.pq VALUES ('" . $source . "','" . $finalPdf . "','y',0,0);";
echo $query;
$result = $conn->query($query);
echo $result->num_rows;
$conn->close();
当运行该命令时,我得到一个INSERT-INTO-ebwf(src,loc,iq,wq,pq)输出Inserted.src,Inserted.loc,Inserted.iq,Inserted.wq,Inserted.pq值的返回('m','scan/WF_153_140812113520.pdf','y',0,0)代码>,但我没有得到返回的行数
我真的只需要插入行的这一分钟的ID,但是如果我们能得到所有这些字段,那就太棒了
我几乎是从几个不同的地方复制了OUTPUT子句的用法,但是我不知道我做了什么错事而没有得到返回
在写这篇文章的时候,我试图做一些研究,因为我没有很好的回复率,因为人们认为我缺乏它,所以我也发现:。。。我仅将查询更改为:
$query = "DECLARE @OutputTbl TABLE (id INT, src VARCHAR, loc VARCHAR, iq INT, wq INT, pq INT);
INSERT INTO ebwf (src,loc,iq,wq,pq) OUTPUT Inserted.id, Inserted.src, Inserted.loc, Inserted.iq, Inserted.wq, Inserted.pq INTO @OutputTbl(id, src, loc, iq, wq, pq) VALUES ('" . $source . "','" . $finalPdf . "','y',0,0);";
很遗憾,我还是一无所获。。希望这能为我下一步的工作提供足够的信息。@cmorrissey提供了一个很好的解决方案
$last\u insert\u id=$conn->insert\u id代码>
这将返回最后插入的id(我认为自动递增的主键是最正确的解释)。我不确定为什么输出不正确,因为我在很多地方都看到过它,而用户只看到过一次。$last\u insert\u id=$conn->insert\u id在此示例中,MySQL中未使用代码>输出manner@cmorrissey我第一次看到这一切,甚至认为这是不可能的。非常感谢。你能添加一个答案吗?这样我就可以设置它了。。你知道输出在哪里使用,为什么我看到它用于MySQL吗?。。