Позвольте мне сначала сказать мой SQL правильный и проверил его более одного раза.SQL не вернет значения
У меня есть 2 метода в моем файле, вызывающих более одного раза для SQL, но когда дело доходит до второй части, оно не возвращает никакого значения для заполнения полей.
Вот та часть, которая дает мне вопросы:
$query = mysql_query("SELECT * FROM MegaFilter WHERE Parent = '".$ThisPage."' ");
while($query2 = mysql_fetch_assoc($query)) {
$SubID = $query2['Filter'];
$query3 = mysql_query("SELECT * FROM SubCategories WHERE ID = '".$SubID."' ");
while($query4 = mysql_fetch_assoc($query3)) {
$SubCatID = $query4['ID'];
$query5 = mysql_query("SELECT * FROM Web_Pages WHERE SubCat = '".$SubCatID."' ");
}
while($query6 = mysql_fetch_assoc($query5)) {
$ProductName = $query6['Title'];
$ProductID = $query6['ID'];
}
echo '<li class="item" data-id="id-'.$Productid.'" data-type="'.$SubID.'">'.$Productname.'</li>';
}
Он не регистрирует никаких ошибок, за исключением того, что последние 2 переменные не определены.
** Вы оставляете себя широко открытыми для инъекции SQL ** Пожалуйста, узнать об использовании параметризованных запросов , предпочтительно с модулем PDO, для защиты вашего веб-приложения. На http://bobby-tables.com/php есть примеры, чтобы вы начали. –
Вы должны изучить использование SQL-соединений. Вы делаете слишком много звонков в базу данных. Если у вас есть 5 строк в MegaFilter и 7 строк в SubCategories для каждого из них, а затем 10 строк в Web_pages для каждого из них, вы будете делать 350 звонков SELECT в свою базу данных. Использование SQL JOINs позволит вам получить все данные в одном вызове в базу данных. –