使用PDO将数据提交到两个mysql表

时间:2012-10-20 23:37:06

标签: php mysql pdo

是否可以使用相同的查询向两个表提交数据?

我现有的代码如下所示:

private function adduser() {

    if (!empty($this->error)) return false;

    $params = array(
        ':user_level' => parent::getOption('default-level'),
        ':name'       => $this->name,
        ':email'      => $this->email,
        ':username'   => $this->username,
        ':password'   => parent::hashPassword($this->password)
    );

    parent::query("INSERT INTO `login_users` (`user_level`, `name`, `email`, `username`, `password`)
                    VALUES (:user_level, :name, :email, :username, :password);", $params);

我没有写这段代码,因此我有点困惑,因为我通常不使用PDO。除了这个我想做的是在我的'url_alias'表中添加两个值,第一个是UID(从第一个查询自动递增),第二个是另一个变量值。

我搜索时找到的所有示例似乎都不适用于我,因为现有代码看起来很像。

任何人都可以帮我一把吗?

1 个答案:

答案 0 :(得分:0)

您使用的数据库驱动程序(PDO,Mysqli等)并不重要,您提出的问题纯粹是关于mysql功能。 Mysql可以在单个查询中更新和删除多个表中的行,但不能插入。即<{1}}是不允许的。

您必须为要插入数据的每个表运行一个查询。