2015-06-04 2 views
0

Это говорит, что я получаю эти ошибки:массив ошибки преобразования строки при индексации массива

Примечание: Массив для преобразования строки в C: \ XAMPP \ HTDOCS \ Team_Aveera_Website \ вкл \ user_functions.php на линии 19 массив Примечание: массив для преобразования строки в C: \ XAMPP \ HTDOCS \ Team_Aveera_Website \ вкл \ user_functions.php на линии 22

при попытке индексировать мой массив. То, что я делаю, это получение всех строк из базы данных и добавление значения из строки в массив. Тогда я получаю случайный объект из массива:

<?php 
    function getRandomAdminStream($db) { 
     try { 
      $twitchNames[] = array(); 

      $SQL = $db->prepare('SELECT * FROM users'); 
      $SQL->setFetchMode(PDO::FETCH_ASSOC); 
      $SQL->execute(); 

      $i = 0; 
      while($row = $SQL->fetch() !== FALSE) { 
       if($row['rank'] == 1) { 
        $twitchNames[$i] = $row['twitchUsername']; 
        $i++; 
       } 
      } 

      $random = $twitchNames[rand(0, count($twitchNames) - 1)]; 
      echo $random; 

      echo '<iframe id="home-stream" type="text/html" height="420" 
       src="http://www.twitch.tv/'.$random.'/embed" 
       frameborder="0"></iframe> 
       <div class="info-holder"> 
       </div>'; 
     } catch (PDOException $e) { 
      echo $e->getMessage(); 
     } 
    } 
?> 
+1

it shuld be print_r ($ random); –

+0

Это не имеет значения, оно просто печатает это: «Array()» – rshah

+0

это имеет значение. сделайте это –

ответ

0

Даже если я установить режим выборки:

$SQL->setFetchMode(PDO::FETCH_ASSOC); 

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

while($row = $SQL->fetch(PDO::FETCH_ASSOC)) {} 
+0

, чтобы вы получили решение. ? –

+0

Да, мне удалось выяснить это :) – rshah

+0

Могу ли я дать вам объяснение, почему вам нужно это сделать, и почему я отправил ниже ответ? –

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