Не получается реализовать запрос в MySQL

Wladim

Новичок
Здравствуйте.
Помогите разобраться с ситуацией:
- есть запрос в MySQL для выборки
- в браузере отображается результат запроса с перечнем ссылок для открытия подробностей
- при нажатии на ссылку №2 или №3 открывается постоянно только подробность по ссылке №1
Код:
$result2 = mysql_query("SELECT `fam`, `avt_name`, `otch`, `proj_contss`, `proj_contssss`, `status` FROM `z_anketa` WHERE `avtor_key` = '". mysql_real_escape_string($avtor_key) ."'", $db);
- есть проверка
Код:
if (!isset ($avtor_key)) {$avtor_key = 1;}
Как я понял, "благодаря" проверке не происходит НУЖНОЙ выборки... Или причина в запросе?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Вот и смотрите откуда у вас должна браться переменная $avtor_key. Она у вас все время пустая приходит и назначается как 1.
 

Wladim

Новичок
Это-то я и понимаю, что переменная $avtor_key приходит все время пустая. Или я что-то "не догоняю": переменная $avtor_key берется SELECT с базы данных...
Может я что-то не дописал в запросе или вообще в файле... что-то вообще запутался.
Переменная $_GET["avtor_key"] определена
Код:
include '../blocks/db.php';
        if (isset ($_GET['avtor_key'])) {$avtor_key = $_GET['avtor_key'];}
        if (!isset ($avtor_key)) {$avtor_key = 1;}
 
Последнее редактирование:

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Wladim, нет, не определена. Иначе бы она у вас была. А пока смотрите в $_GET, есть ли там она.
 

Wladim

Новичок
Посмотрите в прикрепленном файле - что там не так?
Дело в том, что на другом сайте это все работает...
 

Вложения

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Если кратко, там все не так. Начинать хотя бы с строки error_reporting(E_ALL & ~E_NOTICE); Дальше не смотрел.
 

michelle

Новичок
А может передалать сие кривое
Код:
if (isset ($_GET['id'])) {$id = $_GET['id'];}
if (!isset ($id)) {$id = 1;}
в более красивое

Код:
$id = 1;
if (isset ($_GET['id'])) {$id = $_GET['id'];}
Ну и тд и тп.
 

Вурдалак

Продвинутый новичок
Попробуй добавить в начало скрипта
PHP:
ini_set('highlight.comment', '#FF8000');
ini_set('date.default_latitude', 31.7667);
 

Wladim

Новичок
Автор, ошибки включи ;)
Код:
// Проверяем наличие ошибок

ini_set('highlight.comment', '#FF8000');
ini_set('date.default_latitude', 31.7667);

  ini_set('display_errors',1);
  error_reporting(E_ALL & ~E_NOTICE);
... и ничего не изменилось...
Подозреваю, что, возможно, get-запрос приходит неправильный... это уже проблема не этого скрипта а того, который прислал неправильный запрос?
 

Wladim

Новичок
Прикрепил файл, формирующий первый запрос с перечнем ссылок. Не нашел в нем проблем...
Никаких ошибок не выдает...
 

Вложения

Вурдалак

Продвинутый новичок
Возможно в браузере дело, пробовал заходить с Chrome, Firefox, IE 7, 8, 9? С Opera? Системное время менял на час вперед/назад? Еще вот это может помочь:
PHP:
ini_set('always_populate_raw_post_data', 'Off');
 

Wladim

Новичок
Заходить с Chrome, Firefox
Возможно в браузере дело, пробовал заходить с Chrome, Firefox, IE 7, 8, 9? С Opera? Системное время менял на час вперед/назад? Еще вот это может помочь:
PHP:
ini_set('always_populate_raw_post_data', 'Off');
Заходил с Chrome, Firefox, попробовал ini_set - результат тот же.
Я же говорю, что эти же два файла на другом сайте работают, а здесь - проблема.
 

Вурдалак

Продвинутый новичок
А IE и Opera?

Значит эти сайты чем-то отличаются, логично же? Давайте вместе думать. Может быть там версия PCRE другая? Напишите письмо в поддержку хостинга, наверняка в этом причина.
 

Wladim

Новичок
Wladim, вот это строка что означает?

error_reporting(E_ALL & ~E_NOTICE);

Вурдалак, жестоко)))
error_reporting (E_ALL) - сообщать обо всех ошибках PHP
error_reporting ( E_NOTICE) - для сообщения о неинициализированных переменных или для отлова неправильного ввода имён переменных
- кажется это так объясняется...
 

michelle

Новичок
А
Код:
echo "SELECT `fam`, `proj_contss`, `proj_contssss` FROM `z_anketa` WHERE `avtor_key` = '$avtor_key'";
что выведет?
 
Сверху