[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выдача одной и той же записи
Nogard7491
Здравствуйте,
Начну сначала!
1. Есть таблица в БД `pages`
mysql_query("CREATE TABLE IF NOT EXISTS `pages` (
`id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`url` VARCHAR(255),
`template` VARCHAR(255) NOT NULL,
`published` TIMESTAMP NOT NULL DEFAULT NOW(),
`author` VARCHAR(255) NOT NULL,
`content` TEXT,
`editing` VARCHAR(3) NOT NULL DEFAULT 'on',
`deleting` VARCHAR(3) NOT NULL DEFAULT 'on',
`views` INT NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
UNIQUE(`url`))
ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE utf8_general_ci;"
, $db_link) or exit('MYSQL_ERROR: ' . mysql_error());

2. При загрузке страницы я смотрю её id и загружаю по ней все данные
function get_page_data_by_id($id, $db_link)
{
$id = (int) $id;
$query = "SELECT * FROM `pages` WHERE `id`='$id';";
$resource = mysql_query($query, $db_link) or exit('MYSQL_ERROR: ' . mysql_error());
return $resource;
}

Вот тут, всё бы нечего, работало до поры до времени. Но выяснилось, что если поле URL при вставке записи окажется пустой строкой (не NULL), то при любом значении $id будут выдаваться данные по одной и той же записи (та что с пустым URL). В чём подвох?
AlmazDelDiablo
Попробуйте так:
$query = "SELECT * FROM `pages` WHERE `id`='".$id."'";


_____________
Блог | VK | GitHub | Twitch
SlavaFr
Цитата (Nogard7491 @ 8.04.2013 - 19:32)
то при любом значении $id будут выдаваться данные по одной и той же записи (та что с пустым URL). В чём подвох?

Я предпологаю, что по каким то причинам поле url не является unique key, так как пустой стринг это тоже значение которое не должно повторятся.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Nogard7491
AlmazDelDiablo
Цитата
$query = "SELECT * FROM `pages` WHERE `id`='".$id."'";

не, так тоже нечего не изменилось.

SlavaFr
Цитата
Я предпологаю, что по каким то причинам поле url не является unique key, так как пустой стринг это тоже значение которое не должно повторятся.

да нет, второй раз если записать пустой url, то MYSQL выдаёт ошибку что поле уникально.
Michael
И в phpmyadmin если эти запросы с разными id выполнять, будет выдавать одну левую строку url=='' ?

_____________
There never was a struggle in the soul of a good man that was not hard
Nogard7491
Michael
не, ток что проверил, в phpmyadmin всё правильно работает
да, скорее в коде что то напутал, буду искать ошибку
за помощь всем спасибо
Быстрый ответ:

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