2016-01-23 2 views
0

Так что я создаю сайт, который является sapoust для создания викторины и для нескольких последних дней Im сталкивается с ошибкой: Примечание: Неопределенное смещение 1 Примечание: Неопределенное смещение 2 и так далее. В строке 31:Примечание: Неопределенное смещение: PHP

$z = $id[$i]; 

А вот остальная часть кода whic может быть полезным

for($i=0; $i<$liczba; $i++) { 
     $random = rand($i, $liczba) ; 
     do{ 
     $random = rand($i, $liczba) ; 
     if(in_array($random, $wylosowanieNR) == false) { 
      array_push($wylosowanieNR,$random) ; 
      array_push($wylosowanieR,$random) ; 
      break ; 
     } 
     }while(in_array($random, $wylosowanieNR) == false) ; 

} 
return $wylosowanieR ; 
} 
//code 
$id[] = losowanie($_POST['ilePytan']) ; 
//code 
$z = $id[$i]; 
        $zapytanie = "SELECT * FROM pytania WHERE id = '$z' "; 

Другая ошибка:

Notice: Array to string conversion at line 37 : 
$zapytanie = "SELECT * FROM pytania WHERE id = '$z' "; 

Пожалуйста, помогите. Я пытаюсь исправить эту ошибку уже 5 дней. Пожалуйста, помогите

+0

Это «уведомление», а не ошибка. Причина очевидна из сообщения: вы пытаетесь получить доступ к элементу в массиве '$ id', которого не существует. – arkascha

+0

Array to string notice означает, что $ id [$ I] не является строкой – devpro

+0

@arkascha, тогда сообщение об ошибке, вероятно, не очевидно, так как ваше описание явно неверно. Это говорит 'Array преобразовать строку в' '[...] '$ z'" ''. Значение '$ z', вероятно, содержит массив вместо ожидаемой строки. (и уведомление является уровнем ошибки в PHP, по-прежнему стоит исправить) –

ответ

0

Согласно вашему ист уведомления:

функция losowanie будет возвращен массив, и вы снова присвоить это в массив как $ ид [] это должно быть так:

$id = losowanie($_POST['ilePytan']); 

Becuase ваше второе замечание очень ясно о массиве для преобразования строк. вы используете массив в виде строки. Это означает, что вышеупомянутая линия решит проблемы.

0

Ваш фрагмент кода не является полным, но я думаю, что верхняя часть - это функция losowanie(). Если это так, то ошибка в этой строке:

$id[] = losowanie($_POST['ilePytan']) ; 

Вы добавляете результирующий массив в массив $id так, что он содержит единственный элемент, который является массивом. Я не думаю, что ты этого хочешь.

$id = losowanie($_POST['ilePytan']) ; 

следует исправить это.

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