首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多次运行MySQL INSERT查询(将值插入多个表)

问多次运行MySQL INSERT查询(将值插入多个表)
EN

Stack Overflow用户
提问于 2010-03-16 01:30:48
回答 5查看 3.8K关注 0票数 1

基本上,我有3个表;用户和项目,然后我有'users_projects‘来允许一对多的形成。当用户添加项目时,我需要存储项目信息,然后将'userid‘和'projectid’存储在usersprojects表中。这听起来很简单,但我觉得语法有问题!?

现在,我把这个作为我的INSERT查询(值放到两个不同的表中):

代码语言:javascript
复制
$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();
EN

回答 5

Stack Overflow用户

发布于 2010-03-16 01:42:33

您只是忘记了在每个查询之间执行sql。添加

代码语言:javascript
复制
 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,而不是直接在代码中的任何地方做它,这将使您的生活变得更简单。

票数 1
EN

Stack Overflow用户

发布于 2010-03-16 01:48:39

是的,我要检查的两件事是

1)查询是否正在执行?就像另一个帖子提到的那样,你是在设置SQL的中间执行SQL查询吗?

2)如果你以某种方式打印/调试/显示你要插入的变量,它们会被填充吗?如果你看到一些东西被插入,但是一些数据是空白的,那么在此之前可能会有一些东西爆炸,这些变量就会是空白的。

票数 0
EN

Stack Overflow用户

发布于 2010-03-16 02:17:15

我可能误解了,但是您是否将header("Location: main.php");放在脚本中间?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2449132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档