2016-01-06 2 views
-1

Пожалуйста, ознакомьтесь с нижеприведенным кодом.Переменная, которая НЕ пуста, указав неопределенную переменную

 $key = $_SESSION['order_nums']; 
     $sqll = "SELECT * FROM `money` WHERE `order` = :key"; 
     $qq=$con->prepare($sqll); 
     $qq->bindvalue(":key", $key); 
     $qq->execute(); 


     $excel2 = PHPExcel_IOFactory::createReader('Excel2007'); 
     $excel2 = $excel2->load('nTest.xlsx'); // Empty Sheet 
     $excel2->setActiveSheetIndex(0); 
     $worksheet = $excel2->getActiveSheet(); 

     $Cno = '7'; 
     $COno = '7'; 
     $MSno = '7'; 
     $CHno = '7'; 
     $ALno = '7'; 


     while($fdata=$qq->fetch(PDO::FETCH_ASSOC)) 
     { 

       $totalCost += $fdata['cost']; 


       /* 
      $worksheet 
       ->setCellValue('A' . $Cno++, $fdata['code']) 
       ->setCellValue('D' . $COno++, $fdata['cost']) 
       ->setCellValue('E' . $MSno++, $fdata['time']) 
       ->setCellValue('F' . $CHno++, $fdata['hourly']) 
       ->setCellValue('G' . $ALno++, $fdata['ot']);*/ 




     } 

Ok, так что часть кода, где он говорит $totalCost += $fdata['cost'] говорит сво неопределенную переменную. Но код ниже, который я прокомментировал. Если я раскомментирую его, он работает отлично.

ответ

4

вы не определили $totalCost переменную перед ее использованием, так что вы должны определить его снаружи, а петля $totalCost = 0;

$totalCost = 0; 
while($fdata=$qq->fetch(PDO::FETCH_ASSOC)) 
     { 

       $totalCost += $fdata['cost']; 


       /* 
      $worksheet 
       ->setCellValue('A' . $Cno++, $fdata['code']) 
       ->setCellValue('D' . $COno++, $fdata['cost']) 
       ->setCellValue('E' . $MSno++, $fdata['time']) 
       ->setCellValue('F' . $CHno++, $fdata['hourly']) 
       ->setCellValue('G' . $ALno++, $fdata['ot']);*/ 




     } 

, потому что эта линия $totalCost += $fdata['cost']; означает $totalCost = $totalCost + $fdata['cost']; и в этом случае он не нашел вар $totalCost

+0

Иисус, я должен перестать пропускать простые вещи. Благодарю. – Kmiles1990123

+0

Исправить. Вы можете присвоить значение переменной, но оператор добавления будет вызывать предупреждение. – TecBrat

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