[英]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.