2015-03-09 5 views
1

/* В $ selected m получение данных из java-кода, который успешно сохраняется в $ selected. Использование $ selected в запросе, но не может получить данные после запуска запроса. */SQL внутренний запрос, не выдающий вывод

 $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. */ 

ответ

0

Запрос должен быть, как этот

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

Изменение ".$selected."); в '$selected'

0

Try это ... Если вы используете нравится искать LobName означает использование %% .Its Retrun возможно значение соответствия kike одиночный знак

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

У меня есть обновленный ответ –

0

I думаю, что это должно быть сочетание JOCKER «и Абдуллы 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 . "%');"); 
0
  • какой тип данных, содержащихся в вашей $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%'))"); 
 

 
    ?>

Смежные вопросы