2013-06-05 4 views
1

У меня проблема с php. Я попытался показать все данные, а затем поместить их в вложенный цикл. но второй цикл возвращает только null. Я не знаю, что я сделал неправильно.Вложенный цикл while не работает должным образом

<?php 
ini_set('max_execution_time', 36000); 
$con=mysqli_connect("localhost","root","XXX","YahooFin"); 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$result = mysqli_query($con,"show tables from yahooFin where not tables_in_yahooFin = 'nasdaqCompanyList' and not tables_in_yahooFin = 'companylist'"); 
while($row = mysqli_fetch_array($result)) { 
    $result2 = mysqli_query($con, "select * from ".$row['Tables_in_yahoofin']." where entry_date = '2013-06-03'order by entry_date asc limit 1"); 
    while ($row2 = mysqli_fetch_array($result2)); //<== This line gives me null 
    { 
     var_dump($row2); 
     echo "<br>"; 
    } 
} 
var_dump($row); 
mysqli_close($con); 
?> 
+1

Вы считаете, что ваши запросы работают; добавьте некоторые отладки там и узнайте, что происходит. Что выводит 'mysqli_error ($ con)'? – andrewsi

+1

Возможно верхний/нижний регистр пропуска в 'tables_in_yahooFin'? Во втором цикле это 'Tables_in_yahooFin'. BTW, если вы ограничиваете свои результаты «1», что для второго цикла? – bpoiss

ответ

3

Существует дополнительная ; точка с запятой, которые не должны быть там после цикла

while ($row2 = mysqli_fetch_array($result2)); //<== This line gives me null 
               //^ remove this one 

Также Вы, вероятно, опечатка tables_in_yahooFin используется в первом запросе, а Tables_in_yahoofin используется в секунду.

+0

О, дорогая, ты прав. это учит меня не кодировать под влиянием медицины кашля. большое спасибо! –

+0

это исправить проблему? – Vector

+0

Таблица_in_yahoofin верна. на этом нет проблем. –

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