我制作了两张表来存储用户信息以及他们上传的照片信息。 一切顺利,除了当我尝试插入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