基本上,我有3个表;用户和项目,然后我有'users_projects‘来允许一对多的形成。当用户添加项目时,我需要存储项目信息,然后将'userid‘和'projectid’存储在usersprojects表中。这听起来很简单,但我觉得语法有问题!?
现在,我把这个作为我的INSERT查询(值放到两个不同的表中):
$projectid = $_POST['projectid'];
$pname = $_POST['pname'];
$pdeadline = $_POST['pdeadline'];
$pdetails = $_POST['pdetails'];
$userid = $_POST['userid'];
$sql = "INSERT INTO projects (projectid, pname, pdeadline, pdetails) VALUES
('{$projectid}','{$pname}','{$pdeadline}','{$pdetails}')";
$sql = "INSERT INTO users_projects (userid, projectid) VALUES
('{$userid}','{$projectid}')";
$result = mysql_query($sql, $connection)
or die("MySQL Error: ".mysql_error());
header("Location: frontview.php");
exit();发布于 2010-03-16 01:42:33
您只是忘记了在每个查询之间执行sql。添加
mysql_query($sql, $connection)
or die("MySQL Error: ".mysql_error());在每个查询和你之间应该是很好的。
b.t.w (1)在sql日志(在/var/log/mysql/下)上使用tail -f打开控制台进行测试总是很有帮助的
b.t.w.(2)您的代码中存在严重的安全问题。
b.t.w (3)您可能想要考虑使用PDO/Mysqli,而不是旧的mysql扩展。b.t.w (4)使用某种包装器(一个好的类)来接近DB,而不是直接在代码中的任何地方做它,这将使您的生活变得更简单。
发布于 2010-03-16 01:48:39
是的,我要检查的两件事是
1)查询是否正在执行?就像另一个帖子提到的那样,你是在设置SQL的中间执行SQL查询吗?
2)如果你以某种方式打印/调试/显示你要插入的变量,它们会被填充吗?如果你看到一些东西被插入,但是一些数据是空白的,那么在此之前可能会有一些东西爆炸,这些变量就会是空白的。
发布于 2010-03-16 02:17:15
我可能误解了,但是您是否将header("Location: main.php");放在脚本中间?
https://stackoverflow.com/questions/2449132
复制相似问题