我製作了兩張表來存儲用戶信息以及他們上傳的照片信息。 一切順利,除了當我嘗試插入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 = "INSERT INTO photos (userID ,title, brief)".
"VALUES ('$uid', '$title','$bodytext')";
即使$uid
由靜態編號,如「2」,它存在於用戶表(用戶ID)代替SQL命令,它仍然無法插入。
我花了一些建議添加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);
對於啓動'('userID',標題,簡要,)'刪除最後一個逗號 – 2011-03-29 15:06:50
PHP = SQL! MySQL服務器永遠不會看到你的PHP代碼或變量。當您在您最喜愛的MySQL客戶端中運行查詢時,會得到什麼錯誤消息? – 2011-03-29 15:24:51
當我在phpMyAdmin中運行它時,信息被插入。不知道爲什麼它不能在php代碼中工作... – Pei 2011-03-29 15:43:34