繁体   English   中英

SQL内部查询不提供输出

[英]SQL inner Query not giving output

/ *在$ selected中,从Java代码获取数据,该数据已成功存储在$ selected中。 在查询中使用$ selected,但在触发查询后无法获取任何数据。 * /

     $selected = $_GET['selected'];

     $projects=mysql_query("select ProjectName from projects where LobID =
                ( select LobID from lob where LobName like     ".$selected.");");

 if (!$projects) {
     echo "Could not successfully run query ($projects) from DB: " .mysql_error();
    exit;
}

  /* Have included this query in my php page. All the table names are same.Lob       and projects are two different tables n LobID is primary key in Lob & Foreign key in projects. By executing the above query I am not able to fetch the data in $projects.Instead i am getting mesagecould not successfully run query. please help. */

查询应该是这样的

$projects=mysql_query("select ProjectName from projects where LobID =
                     (select LobID from lob where LobName like '$selected')");

更改".$selected."); '$selected'

试试这个...如果您喜欢搜索LobName,则表示使用%%。它会重新运行可能的匹配值,例如单个字符

"select ProjectName from projects where LobID =
                ( select LobID from lob where LobName like '%$selected%');"

我认为这应该是乔克(Jocker)和阿卜杜拉·尼拉姆(Abdulla Nilam)的回答:

$projects=mysql_query("select ProjectName from projects  
where LobID = ( select LobID from lob 
where LobName like '%".$selected."%');");

或加入

$projects = mysql_query("SELECT ProjectName FROM projects
JOIN lob ON projects.LobID=lob.LobID
WHERE LobName LIKE '%" . $selected . "%');");
  • $selected = $_GET['selected'];包含的数据类型$selected = $_GET['selected']; 变量?
  • 您的子查询返回多少行记录?

如果您的子查询返回更多记录,则可以限制结果数:

 <?php /** ... **/ $selected = $_GET['selected']; $projects = mysql_query("SELECT ProjectName FROM projects WHERE (LobID = ( SELECT LobID FROM lob WHERE LobName LIKE '%$selected%' LIMIT 1))"); ?> 

如果没有,您可以这样做:

 <?php /** ... **/ $selected = $_GET['selected']; $projects = mysql_query("SELECT ProjectName FROM projects WHERE (LobID IN ( SELECT LobID FROM lob WHERE LobName LIKE '%$selected%'))"); ?> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM