2014-01-24 3 views
-1

Я разрабатываю простое приложение на PHP. Если я пытаюсь запустить его всегда показывает неопределенную переменную .. Мне нужно несколько советов относительно того, как это исправить, пожалуйста, найти фрагмент кода ниже,Неопределенная переменная: PHP

<?php 
session_start(); 
include("profilesql.php"); 
$result = mysql_query("SELECT * FROM addfriends where meid='$_SESSION[stuid]' "); 
while($row = mysql_fetch_array($result)) 
    { 
$uid1[$i] = $row["friendid"]; 
$i++; 
    } 

$acrec1 = mysql_query("SELECT * FROM addfriends WHERE userid='$uid1[1]'"); 

while($row = mysql_fetch_array($acrec2)) 
    { 
    $img1[0]= $row["image"]; 
    } 

    $acrec2 = mysql_query("SELECT * FROM addfriends WHERE userid='$uid1[2]'"); 

while($row = mysql_fetch_array($acrec2)) 
    { 
    $img1[1]= $row["image"]; 
    } 

    $acrec3 = mysql_query("SELECT * FROM profile WHERE userid='$uid1[3]' "); 

while($row = mysql_fetch_array($acrec3)) 
    { 
    $img1[2]= $row["image"]; 
    } 

    $acrec4 = mysql_query("SELECT * FROM profile WHERE userid='$uid1[4]' "); 
while($row = mysql_fetch_array($acrec4)) 
    { 
    $img1[3]= $row["image"]; 
    } 
    ?> 

В соответствии с приведенной выше фрагменте кода, я получаю сообщение об ошибке, как ниже,

Notice: Undefined variable: uid1 in C:\xampp\htdocs\collegenetwrking\friends.php on line 11 

Notice: Undefined variable: acrec2 in C:\xampp\htdocs\collegenetwrking\friends.php on line 13 

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\xampp\htdocs\collegenetwrking\friends.php on line 13 

Notice: Undefined variable: uid1 in C:\xampp\htdocs\collegenetwrking\friends.php on line 18 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\collegenetwrking\friends.php on line 20 

Notice: Undefined variable: uid1 in C:\xampp\htdocs\collegenetwrking\friends.php on line 25 

Notice: Undefined variable: uid1 in C:\xampp\htdocs\collegenetwrking\friends.php on line 32 

Пожалуйста, предложите мне об этом.

+0

Не выглядит, как вы поставили $ _SESSION [ «studid»] в любом месте, прежде чем вы использовали его в запросе – Aditya

ответ

0

В «неопределенные» уведомления обусловлены не-инициализируются переменные. попробуйте добавить в начало своего скрипта $ uid1 = null, и это уведомление исчезнет (то же самое для других подобных)

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

теперь «Предупреждение: mysql_fetch_array()» указывает на более глубокую проблему; ваш результат был пуст. Попробуйте проверить, есть ли у вас значимый результат назад. Там на самом деле хороший пример здесь, на странице руководства по PHP: http://au2.php.net/mysql_query

редактировать: ах ошибка линии 13, потому что вы выборку неверного результата, проверьте имена переменных! acrec1! = acrec2

+0

** Решаю линия 13 ошибки, но я не решить эту вероят. mysql_fetch_array() ожидает параметр 1 – robin

+0

Возможно, запрос неверен; проверьте страницу руководства о том, как обрабатывать ошибки из mysql_query, это поможет вам определить ее. Вы также можете отправить запрос перед отправкой его в mysql, чтобы убедиться, что это имеет смысл (а затем вы можете вручную запустить его, чтобы проверить его тоже) –

0

Вы получаете эти ошибки, потому что вы пытаетесь проиндексировать их до того, как они были созданы. Попробуйте инициализировать их как массивы, прежде чем индексировать их, и это должно решить вашу проблему.

Я также не вижу, где вы определяете $i ..., который должен существовать где-то прежде, чем вы его используете.

Ваши заявления SQL также сломаны ... Вам нужно сформировать их как полные строки, подобные следующим:

"SELECT * FROM addfriends WHERE meid=" . $_SESSION[stuid]

0
$i = 0; 
while($row = mysql_fetch_array($result)) { 
    $i++; 
    $uid1[$i] = $row["friendid"]; 
} 
Смежные вопросы