2011-12-23 3 views
0

У меня есть PHP-файл делает запросPHP Query + IF ELSE

function getFiles() 
{ 
    $solnid = $_GET[id]; 
    $query = mysql_query("SELECT * FROM library WHERE libr_solutionId = '$solnid' AND libr_deleted IS NULL") or die(mysql_error()); 
    $result = mysql_query($query); 
    if (mysql_num_rows($result)==0) { 
     echo "<br>No Related Links"; 
    } else { 
     while($library = mysql_fetch_assoc($query)) { 
      echo "<span style=\"margin-bottom: 5px;\"><a href=\"Solutions/image/".$library[libr_solutionref]."/".$library[libr_filename]."\" target=\"_blank\"><img src=\"images/icon-download-02.png\" align=\"absmiddle\" style=\"margin-right: 5px;\"><span>".$library[libr_c_title]."</span></a></span><br>"; 
      echo "<br>"; 
     } 
    }  
} 

Я проверил запрос в PHPMyAdmin и я получаю результат, однако при выполнении функции в моей странице она только не отображает «Нет Связанные Заявления ссылок какие-нибудь идеи?

+1

сначала у вас есть большая толстая инъекция SQL в вашем скрипте. – RageZ

+0

Я знаю, но это закрытая система, так что это не большая проблема –

+0

База данных такая же? – macjohn

ответ

4

Вот фиксированный код. :) Проблема заключалась в том, что вы использовали mysql_query на ресурс (первый mysql_query), и это даст 0 строк или исключение ..

function getFiles() 
{ 
    $solnid = $_GET['id']; 
    $result = mysql_query("SELECT * FROM library WHERE libr_solutionId = '$solnid' AND libr_deleted IS NULL") or die(mysql_error()); 
    if (mysql_num_rows($result)==0) { 
     echo "<br>No Related Links"; 
    } else { 
     while($library = mysql_fetch_assoc($result)) { 
      echo "<span style=\"margin-bottom: 5px;\"><a href=\"Solutions/image/".$library['libr_solutionref']."/".$library['libr_filename']."\" target=\"_blank\"><img src=\"images/icon-download-02.png\" align=\"absmiddle\" style=\"margin-right: 5px;\"><span>".$library['libr_c_title']."</span></a></span><br>"; 
      echo "<br>"; 
     } 
    }  
} 
+0

Прекрасное спасибо за вашу помощь и время. Я очень ценю это! –

+0

Вы также должны дезинфицировать параметр для '$ solnid', можно использовать этот SQL так, как сейчас, и делать инъекции. :) – NoLifeKing

+0

Хороший улов! Я полностью пропустил двойную mysql_query, когда прочитал ее. – Patches

0

изменить ваши функции к (изменения к линиям)

function getFiles() 
{ 
    $solnid = $_GET[id]; 
    $result = mysql_query("SELECT * FROM library WHERE libr_solutionId = '$solnid' AND libr_deleted IS NULL") or die(mysql_error()); 
    if (mysql_num_rows($result)==0) { 
     echo "<br>No Related Links"; 
    } else { 
     while($library = mysql_fetch_assoc($query)) { 
      echo "<span style=\"margin-bottom: 5px;\"><a href=\"Solutions/image/".$library[libr_solutionref]."/".$library[libr_filename]."\" target=\"_blank\"><img src=\"images/icon-download-02.png\" align=\"absmiddle\" style=\"margin-right: 5px;\"><span>".$library[libr_c_title]."</span></a></span><br>"; 
      echo "<br>"; 
     } 
    }  
}