2013-12-01 2 views
0

Я очень новичок в PHP/MySQL, но считаю, что код «должен» работать.Примечание: Неопределенное смещение: 0, PHP/MySQL

Неопределенное смещение: 0 на линии 59 Я не уверен, почему эта ошибка происходит. Не будет ли count array> 0 предотвращать неопределенное?

$result = mysql_query("select InterestID FROM userinterest WHERE MemberID ='$MemberID'"); 

$result_array = array(); 
$result_array2 = array(); 
$i=0; 

while($row=mysql_fetch_array($result)){ 
$result_array[$i] = $row['InterestID']; 
$i++; 
} 
$results; 

for($ID=100; $ID<400; $ID++){ 

for($XI=0; $XI<4; $XI++){ 

for($X=0; $X<4; $X++){ 

$result2 = mysql_query("select InterestID FROM userinterest WHERE MemberID ='$ID'"); 

while($row2=mysql_fetch_array($result2)){ 
$result_array2[$i] = $row2['InterestID']; 
$i++; 
} 

if ((count($result_array2[$X]) > 0)) { 
if($result_array2[$X] == $result_array[$XI]) 
{ 
$match++; 
} 

} 

} 
} 

if($match>0){mysql_query("INSERT INTO matchtemp(MemberID, Count)VALUES ('$ID','$match')"); 
} 
$match=0; 
} 
+0

Protip: всегда используйте 'isset()', чтобы проверить, действительно ли оно определено. –

+0

Это сработало! спасибо – user3054943

ответ

1

Почему вы это делаете?

while($row=mysql_fetch_array($result)){ 
$result_array[$i] = $row['InterestID']; 
$i++; 
} 

Каждый раз, когда вы нажимаете элемент в массив, его автоматически индексируется. Попробуйте:

while($row = mysql_fetch_array($result)){ 
$result_array[] = $row['InterestID']; 
} 
Смежные вопросы