Где ошибка??? Не пойму

voland

Guest
Где ошибка??? Не пойму

Подскажите где ошибка? День бьюсь никак не понять!...
PHP:
$request="SELECT `q` FROM `w` WHERE q=$q";
$result=mysql_query($request);
WHILE ($row = mysql_fetch_row($result))
{
$request1="SELECT `e` FROM `r` WHERE r=$row[0]";
$result1=mysql_query($request1);
WHILE ($row1 = mysql_fetch_row($result1))
{ echo $row1[0];}
echo $row[0];
}
 

garfild

Guest
1. Зачем выбирать то, что заранее известно?

$request="SELECT `q` FROM `w` WHERE q=$q";

2. попробуй обращаться к $row['по_имени'].
 

voland

Guest
Мне надо с первым значением $row['по_имени'].

выполнить второй запрос и получить другие начения!
 

voland

Guest
Да, это я опечатался! Мне надо сделать запрос к БД получить значения ($ROW[0]) и в этом же цикле выполнить второй цикл, где поиск я буду вести со значением равным $row[0]
Вообщем вот мой код!
PHP:
$request = "SELECT `q` FROM `guest` WHERE guest='$qwe";
$result = mysql_query($request);
while ($row = mysql_fetch_row($result))
{ 
$topicid= "SELECT * FROM `t` WHERE t=$row[0]";
$res = mysql_query($topicid);
      while ($fid = mysql_fetch_row($res))
           {echo $fid[0];}
echo $row[0]; }
}
 

garfild

Guest
наверное, опять опечатался
$request = "SELECT `q` FROM `guest` WHERE q='$qwe";
(вместо guest - q)
$topicid= "SELECT * FROM `t` WHERE t=$row[0]";
а здесь наверное ещё параметр есть? Иначе ты делаешь where по имени таблицы.
 

voland

Guest
Это здесь так, просто я точно не помню Запросы но они 100% правильны! А проблема в том, что ошибка выдаеться на строку, где написано

while ($fid = mysql_fetch_row($res))

Пишет, что аргумент неправильный!
 

garfild

Guest
значит неверен второй запрос
(ошибка что-то вроде ...is not valid MySQL result?)
посмотри ёще раз, может там?
или пришли оригинальный код
 

garfild

Guest
вот ещё пришло в голову:
mysql_error();
после каждого запроса. если ошибка в запросах, она напишет.
 

voland

Guest
Присылаю оригинальный код :)
PHP:
<?
$request = "SELECT `post_id`, `post_text`, `post_date`, `username`, `topic_id` FROM `guest`.`post_text` WHERE post=$word'";

$result = mysql_query($request);
 while ($row = mysql_fetch_row($result))
{
  $topicid= "SELECT * FROM `t_nid` WHERE t_nid=$row[2]";
  $res = mysql_query($topicid);
      while ($fid = mysql_fetch_row($res))
        {echo $fid[1];}

echo $row[2];
     }
?>
Это текст ошибки!

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in z:\home\wdc.ru\www\search.php on line 39
 

garfild

Guest
$topicid= "SELECT * FROM `t_nid` WHERE t_nid=$row[2]";
это как? ты делаешь where по имени таблицы, так вроде нельзя.
supplied argument is not a valid MySQL result resource - говорит о том, что неверен именно запрос.
 

Demiurg

Guest
echo mysql_error(); после запроса.
И сделай ты все одним запросом, не мучай сервер.
 

voland

Guest
Одним нельзя, разные таблицы! И по одному значению я должен найти другой значение в другой таблице но по первому значению!
 

Demiurg

Guest
>Одним нельзя, разные таблицы!
спорим, получиться?
если конечно объяснишь, что именно надо.
 

sipliy

Утомленный солнцем
Слушай попробуй сделать все через switch, типа того
PHP:
switch ($row[2])
{
  case "чего-то": $SQL="select * from чего-то"; break;
  case ....
  и т.д и т.п...
}
Конечно все через задницу, но попытаться можно..
 

voland

Guest
Все спасибо, я сделал проще! Передал все что мне надо было из другого запроса по этой таблице! :))

З.Ы. Так долго тупил, а это пришло в голову токо щас :)))
 
Сверху