Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Нет про это я знаю, я просто не пойму что это даст? проверку в начале цикла и все? но она мне ничего не даст=( Я уверен ошибка не в этом!
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Даже если я сделаю так :
$result5 = mysql_query('SELECT * FROM users WHERE
id="$miidfriend[idkomy]"', $db);
а не так :
$result5 = mysql_query("SELECT * FROM users WHERE id='$miidfriend[idkomy]'", $db);
Ничего не изменится.
Либо вы не видите что я вам твержу уже в 3м посте что у меня выше выполняется прекрасно анологичный запрос, а вы словно этих доводов не замечаете!
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Не надо писать так: '$login';
Надо писать так: "$login".
Только тогда подставится значение переменной, а не имя.
То же самое и с массивами, только здесь вообще лучше делать соединение строк: "id=".$row["id"];
Уже писал выше то же самое.
И с циклом тоже ошибка. Прежде чем использовать переменную, её необходимо создать. А у Вас получается в первой итерации цикла идёт использование, а уже потом присваивание. Если в выборке много результатов, то выведутся все, кроме последней. А если всего одна, то вообще ничего не выведется.
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Михаил !
То есть вот такой запросбудет правильным?
$result5 = mysql_query("SELECT * FROM users WHERE id=".$miidfriend['idkomy']."", $db);
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Вот так будет правильно:
$result5 = mysql_query("SELECT * FROM users WHERE id='".$miidfriend['idkomy']."'", $db);
Теперь исправляйте циклы.
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Спасибо! Теперь правильно?
$result5 = mysql_query("SELECT * FROM users WHERE id='".
$miidfriend['idkomy']."'", $db);
if (!$result5)
{
exit("Произошла ошибка! "

;
}
elseif (mysql_num_rows($result5) > 0)
{
$idmyfriend = mysql_fetch_array($result5);
do
{
print_r ("
Пользователь № %s <br>
Имя : %s
",$idmyfriend['id'],$idmyfriend['name']) ;
}
while ($idmyfriend = mysql_fetch_array($result5));
}
else
{
exit("У вас нет друзей, пока... "

;
}
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Нет, замените циклы do-while на while.
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Сделал как вы сказали, все равно не выводит данные а получатеся так что выводит результат что нет друзей!
$result5 = mysql_query("SELECT * FROM users WHERE id='".$miidfriend['idkomy']."'", $db);
if (!$result5)
{
exit("Произошла ошибка! "

;
}
elseif (mysql_num_rows($result5) > 0)
{
$idmyfriend = mysql_fetch_array($result5);
while ($idmyfriend = mysql_fetch_array($result5));
{
print_r ("
Пользователь № %s <br>
Имя : %s
",$idmyfriend['id'],$idmyfriend['name']) ;
}
}
else
{
exit("У вас нет друзей, пока... "

;
}
int
Освоившийся
Дата регистрации:
26.10.2011 05:32:04
Сообщений: 32
Попробуй закомментировать первый запрос и проверь на выполнение второй. Если не идет - убирай переменную с запроса. Пиши конкретно "SELECT * FROM user WHERE id='Ваcя'". И выводи прямо по имени все значения. Если не идет - комментируй весь код и оставляй только один запрос и так же подставляй. Если с Васей пойдет- то дело в твоих переменных. Которые ты не пойми для чего два раза использовал в запросе. Вообще аккуратнее надо писать код
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Так в том то и дело что если просто вывожу переменные в echo то все показываеит все id тех кто в таблице friend а когда подставляю в запрос чтобы вытащить все данные тех кто находится в friend из таблицы users где находятся их имя фамилия и так далее, не хочет, дело только в самом запросе... но я устал его уже пытатся выполнить я уже неделю не меньше сижу над ним.... если ты INT можешь поправить как нужно прошу разьяснить досканально!