Начну сначала!
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). В чём подвох?