我想知道我是否可以稍微清理一下,我想做一个嵌套的 sql 语句,但不确定如何做。
$serverfile = mysqli_fetch_array(mysqli_query($link,"SELECT `Server_ID`
FROM `FileServerFiles`
WHERE `File_ID` ='$fileid'
limit 1"));
$server = mysqli_fetch_array(mysqli_query($link,"SELECT `ExternalDomain`,`AccessFile`
FROM `FileServers`
WHERE `ID` ='".$serverfile['Server_ID']."'"));
我想要这样的东西吗?
$server = mysqli_fetch_array(mysqli_query($link,"SELECT `ExternalDomain`,`AccessFile`
FROM `FileServers`
WHERE `ID` ='(SELECT `Server_ID`
FROM `FileServerFiles`
WHERE `File_ID` ='$fileid'
limit 1)'"
));
最佳答案
这个查询应该做到;因为您只查询一个项目,所以您真的不需要连接:
SELECT `ExternalDomain`,`AccessFile`
FROM `FileServers`
WHERE `ID` IN (SELECT `Server_ID`
FROM `FileServerFiles`
WHERE `File_ID` ='$fileid'
limit 1
);
顺便说一句,我假设 $fileid
已经被正确清理;您还可以考虑准备好的陈述(和/或)。
关于php - 如何减少多个依赖查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16167927/