Я создал две таблицы для хранения информации о пользователях и загруженной ими фотографии.Все идет хорошо, за исключением случаев, когда я пытаюсь вставить userID в таблицу фотографий, mysql просто не принимает его.Проблема может быть связана с внешними ключевыми вещами, но я не знаю, как ее исправить.
CREATE TABLE IF NOT EXISTS users (
userID smallint(7) NOT NULL auto_increment,
email varchar(60) collate utf8_unicode_ci NOT NULL default '',
PRIMARY KEY (userID),
UNIQUE KEY email (email)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE IF NOT EXISTS photos (
photoID MEDIUMINT(7) NOT NULL AUTO_INCREMENT,
userID SMALLINT(7),
title VARCHAR(150),
brief TEXT,
PRIMARY KEY(photoID),
INDEX (userID),
FOREIGN KEY (userID)
REFERENCES users(userID)
) ENGINE=INNODB;
И команда sql, которую я использовал для вставки информации в таблицу фотографий
$sql = "INSERT INTO photos (userID ,title, brief)".
"VALUES ('$uid', '$title','$bodytext')";
Даже если $uid
заменен статическим числом, таким как '2', которое существует впользовательская таблица (userID), она все еще не может быть вставлена.
Я воспользовался некоторыми советами, чтобы добавить функцию mysql_error
, однако она ничего не показывает ...
$sql = "INSERT INTO photos (userID ,title, brief)".
"VALUES ('2', '$title','$bodytext')";
$res = mysql_query($sql);
if ($res === FALSE) {
die(mysql_error());
}
return mysql_query($sql);