在另一个查询中使用 mysql_query 结果
以下是我正在执行的查询。但由于某种原因 $MachineQuery 没有得到结果。我认为这与在查询中使用 $q1 有关,但我不知道为什么。 有什么想法吗?
$q1 =mysql_query("SELECT DISTINCT SymptomID
FROM Tree
WHERE SymptomID NOT IN (SELECT DISTINCT SymptomID
FROM Tree
WHERE LBNodeID = 0 OR RBNodeID = 0)")
$MachineQuery = mysql_query("SELECT DISTINCT M.MachineID, M.MachineName
FROM Machines M, Systems Sys, Symptoms Sym
WHERE M.MachineID = Sys.MachineID AND Sys.SystemID
=Sym.SystemID AND Sym.SymptomID IN ($q1)
Below are the queries I am executing. But for some reason $MachineQuery is not getting a result. I assume it has something to do with using $q1 in the query but I don't know why.
Any Ideas?
$q1 =mysql_query("SELECT DISTINCT SymptomID
FROM Tree
WHERE SymptomID NOT IN (SELECT DISTINCT SymptomID
FROM Tree
WHERE LBNodeID = 0 OR RBNodeID = 0)")
$MachineQuery = mysql_query("SELECT DISTINCT M.MachineID, M.MachineName
FROM Machines M, Systems Sys, Symptoms Sym
WHERE M.MachineID = Sys.MachineID AND Sys.SystemID
=Sym.SystemID AND Sym.SymptomID IN ($q1)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
问题是
$q1
是 PHP 资源。它不是查询、数组、字符串或其他任何东西。因此,您需要将数据“转换”为您更可用的类型。这是我的解决方案:
这样您就可以重用结果,而不必再次运行查询。
The problem is that
$q1
is a PHP resource. It is not a query, an array, a string, or anything else. As such, you need to "convert" the data to a type that is more usable by you.Here is my solution:
That way you can reuse the results, and you don't have to run the query again.
$q1 是 MySQL 资源变量,而不是字符串或数组。请参阅文档,了解如何从该资源获取您想要的特定字段:
https://www.php .net/mysql_query
https://www.mysql.net/mysql_query php.net/manual/en/function.mysql-fetch-array.php
$q1 is a MySQL resource variable, not a string or array. See the documentation for how to get the particular field(s) you want from that resource:
https://www.php.net/mysql_query
https://www.php.net/manual/en/function.mysql-fetch-array.php
我会尝试
i'd try