[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пустые переменные
Ivens
Доброго времени суток!Хоть кто-то помогите!!!Ничё не могу понять.Такая вот штука:

printf ("<div><a href='show_tov.php?uid=%s&tid=%s'><img src='%s' width='70'></a>
<p align='left'><strong>%s</strong></p>
<p align='left'>%s</p>
<p align='left'><strong>%s грн</strong></p>
</div>"
,$uid,$myrow4['tov_ID'],$myrow4['prev'],$manuf,$myrow4['nazv'],$myrow4['price']);


передаёт в файл show_tov переменные, а в нём:



if(!isset($_GET['uid']) or $_GET['uid']=='') die ('Check URL');
$uid=$_GET['uid'];

if(isset($_GET['tid'])) $tid=$_GET['tid'];

include("blocks/cnct_db.php");

$result=mysql_query("SELECT m_title, m_descr, m_kwrds, m_text FROM first_main WHERE page='catalog'",$db) or die("Чё-то не срослось с базой: ".mysql_error());
$myrow=mysql_fetch_array($result);

$show_rez=mysql_query("SELECT * FROM tovar WHERE tov_ID='$tid'",$db);
$show_myrow=mysql_fetch_array($show_rez);
$manuf=$show_myrow['manuf'];

$result1=mysql_query("SELECT Pwd,Nick FROM reg_usr WHERE Pwd='$uid'",$db);
$myrow1=mysql_fetch_array($result1);
if (!isset ($myrow1['Nick']) || $myrow1['Nick']=="") {die ('Проверьте параметры URL');}
else{
$nick=$myrow1['Nick'];}




всё вытягивается кроме


$show_rez=mysql_query("SELECT * FROM tovar WHERE tov_ID='$tid'",$db);
$show_myrow=mysql_fetch_array($show_rez);


тут пустые переменные... Ошибок не выдаёт. Чё за нонсенс?



Спустя 5 часов, 24 минуты, 8 секунд (19.05.2010 - 06:42) olgatcpip написал(а):
Поиск ошибки с конца:
1 - распечатать запрос., если нет нужно значения
2 - распечатасть $_GET['tid'], если и тут нет
3 - внимательно посмотреть на html-код ("<div><a href='show_tov.php?uid=%s&tid=%s'><img src='%s' width='70'></a>) т.е. на то, что распечатано.

Покажи нам что там видно.

Спустя 5 часов, 58 минут, 48 секунд (19.05.2010 - 12:41) Ivens написал(а):
Проверил по цепочке. _GET передаётся верно, а вот запрос выводит пустые переменные. Когда заменяю в запросе * на имя какого-либо поля - всё вытягивает со свистом. MySQL сервак такой:

Server: localhost via TCP/IP
Server version: 5.1.40-community
Protocol version: 10
User: root@localhost
MySQL charset: UTF-8 Unicode (utf8)

Чё ж, теперь, все поля в запросе перечислять вместо *???? Может дело в UTF-8 Unicode (utf8) ?

Спустя 5 минут, 2 секунды (19.05.2010 - 12:46) DedMorozzz написал(а):
Пробуй так:
$show_rez=mysql_query("SELECT * FROM `tovar` WHERE `tov_ID`='$tid'",$db);
$show_myrow=mysql_fetch_assoc($show_rez);

Да и зачем каждый раз подключение к БД делать, вынеси его в начало единожды.

Спустя 7 минут, 42 секунды (19.05.2010 - 12:54) Ivens написал(а):
Попробовал...
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\First\show_tov.php on line 14


а подключение там один раз, это как раз начало страницы

Спустя 1 минута, 16 секунд (19.05.2010 - 12:55) Ivens написал(а):
И так тоже


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\First\show_tov.php on line 14

Спустя 53 секунды (19.05.2010 - 12:56) DedMorozzz написал(а):
Покажи свой нынишний код. И дамп БД

Спустя 4 минуты, 42 секунды (19.05.2010 - 13:01) Ivens написал(а):
$show_rez=mysql_query("SELECT * FROM 'tovar' WHERE 'tov_ID'='$tid'",$db);
$show_myrow=mysql_fetch_assoc($show_rez);
$manuf=$show_myrow['manuf'];


это привело к

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\First\show_tov.php on line 14

а дамп как сделать из phpmyadmin?Там вроде только экспорт rolleyes.gif

Спустя 31 секунда (19.05.2010 - 13:01) waldicom написал(а):
Просто надо показать ошибку mysql. После mysql_query() вывести or die(mysql_error())

$show_rez=mysql_query("SELECT * FROM 'tovar' WHERE 'tov_ID'='$tid'",$db) or die(mysql_error());

Спустя 19 секунд (19.05.2010 - 13:01) DedMorozzz написал(а):
БЛИН я же указал явно ИНЫЕ(!) кавычки, не ' , a `
$show_rez=mysql_query("SELECT * FROM `tovar` WHERE `tov_ID`='$tid'",$db);

Спустя 46 секунд (19.05.2010 - 13:02) Ivens написал(а):
Пересмотрел скрипты, заметил, что нигде ещё выборку * не делал. Поэтому напоролся на эту шнягу только ща

Спустя 1 минута, 57 секунд (19.05.2010 - 13:04) DedMorozzz написал(а):
Проверь с НОРМАЛЬНЫМИ кавычками. Просто скопипасти пример выше и покажи посмотри что выйдет. Если ошибка - код в студию, вместе с дампом БД, будем разбираться.

Спустя 2 минуты, 16 секунд (19.05.2010 - 13:06) Ivens написал(а):
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tovar' WHERE 'tov_ID'='4'' at line 1 - это с прямыми кавычками...

Unknown column '4' in 'where clause' - а это с косыми...

Спустя 2 минуты, 6 секунд (19.05.2010 - 13:08) DedMorozzz написал(а):
if(isset($_GET['tid'])) $tid=$_GET['tid'];

Распечатай перед инклудом $tid. Что выводит. Есть ли он. И код нынишний так и не показал.

Спустя 4 минуты, 58 секунд (19.05.2010 - 13:13) Ivens написал(а):
$tid правильный. проверял.

код:
$show_rez=mysql_query("SELECT * FROM `tovar` WHERE `tov_ID`='$tid'",$db) or die(mysql_error());
$show_myrow=mysql_fetch_assoc($show_rez);
$manuf=$show_myrow['manuf'];


ошибок не дампит, а переменные пустые, как и при



$show_rez=mysql_query("SELECT * FROM tovar WHERE tov_ID='$tid'",$db) or die(mysql_error());

Спустя 2 минуты, 20 секунд (19.05.2010 - 13:16) Ivens написал(а):
блин, на работу надо бежать...

Спустя 4 минуты, 55 секунд (19.05.2010 - 13:21) DedMorozzz написал(а):
ну пустота говорит о том, что нету никаких результатов выборки. Вставь вместо * название поля и проверь, покажи результат, не меняя ничего, кроме звёздочки.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.