我已经解决了这个问题两个小时了。我很可能只是错过了一些非常明显的东西。基本上,我无法将这些查询中的任何一个实际插入到服务器中。 我已手动将数据添加到服务器,并且没有任何问题。 我的其他脚本 成功地向服务器添加内容。 我已经使用ping功能确认我已连接到服务器。 而且我还浏览了输入列表,以确保没有添加任何意外情况。
我不知道还有什么可以尝试。
$Name = $_POST['Project_Name'];
$Description = $_POST['Description'];
$Languages = $_POST['Languages'];
$dateposted = $_POST['DatePosted'];
$Spots = $_POST['Spots'];
$Comments = $_POST['Comments'];
$PostingUser = $_SESSION['UserID'];
if(!empty($Name) AND !empty($dateposted))
{
mysql_query("
INSERT INTO Project
(ProjName
, Slots
, CurrentSlots
, Date_Posted
, Languages
, ProjDescription
, ProjType
, Comments
, AddingUser
) VALUES
('$Name'
, '$Spots'
, '0'
, '$dateposted'
, '$Languages'
, '$Description'
, NULL
, '$Comments'
, '$PostingUser')
");
mysql_query("INSERT INTO PostedBy(fk_pb_ProjName, fk_pb_Username)VALUES('$Name', '$PostingUser')");
header("refresh: 1; url=Add-Project.html");
echo " Project Submitted. Returning to main list.";
}
?>
这是PHP代码,这是两个SQL表。
项目:
CREATE TABLE Project
(
ProjName VARCHAR(100) NOT NULL,
Slots INT NOT NULL,
CurrentSlots INT,
Date_Posted VARCHAR(10) NOT NULL,
Languages VARCHAR(40),
ProjDescription VARCHAR(255),
ProjType VARCHAR(10),
Comments VARCHAR(255),
AddingUser VARCHAR(7),
FOREIGN KEY (AddingUser) references Users(Username),
PRIMARY KEY(ProjName)
);
PostedBy:
CREATE TABLE PostedBy
(
fk_pb_ProjName VARCHAR(100),
fk_pb_Username VARCHAR(7) NOT NULL,
PRIMARY KEY (fk_pb_ProjName),
FOREIGN KEY (fk_pb_Username) references Users(Username),
FOREIGN KEY (fk_pb_ProjName) references Project(ProjName)
);
这是我第一次使用PHP和MySQL做任何实质性的事情,所以我很可能会忽略一些非常简单的事情。
答案 0 :(得分:4)
OLD
mysql_query("INSERT INTO Project(ProjName, Slots, CurrentSlots, Date_Posted, Languages, ProjDescription, ProjType, Comments, AddingUser)VALUES('$Name', '$Spots', '0', $dateposted, '$Languages', '$Description', NULL, '$Comments', '$PostingUser')");
AND NEW
mysql_query("INSERT INTO Project(ProjName, Slots, CurrentSlots, Date_Posted, Languages, ProjDescription, ProjType, Comments, AddingUser)VALUES('$Name', '$Spots', '0', ------->'$dateposted'<-----, '$Languages', '$Description', NULL, '$Comments', '$PostingUser')");
请务必将单引号放在要查询的每个变量上!我认为这就是问题..转到你的日期发布变量这是问题应该存在的地方
答案 1 :(得分:0)
看看这一行:
mysql_query("INSERT INTO PostedBy(fk_pb_Name, fk_pb_Username)VALUES('$Name', '$PostingUser')"
并在您的表定义中:
fk_pb_ProjName VARCHAR(100),
这些不匹配。
除此之外:(在切换到mysqli或PDO之后)阅读显示MySQL错误并将其打印出来。
编辑: 对于mysqli,请检查:http://php.net/manual/en/mysqli.error.php