如何在一个中运行两个更新查询?

时间:2013-03-15 17:29:11

标签: mysql

我正在尝试将2个更新查询作为一个$ $结果运行,这是否可行,如果有的话,有人可以告诉我下面的查询出错了吗?

$query = "INSERT INTO ptb_users (id, user_id, first_name, last_name, email, password )
    VALUES('NULL','NULL','" . $firstname . "','" . $lastname . "','" . $email . "',MD5('" . $password . "'))";

mysql_query($query) or dieerr();
$result = mysql_query("UPDATE ptb_users SET ptb_users.user_id=ptb_users.id UPDATE ptb_users SET ptb_users.account_type= \"Client\"");

2 个答案:

答案 0 :(得分:0)

由于WHERE上没有UPDATE条款,您可以将它们合并为:

UPDATE ptb_users SET ptb_users.user_id = ptb_users.id,
  ptb_users.account_type = 'Client'

编辑:如果您想要UPDATE行,只需INSERT编辑,那么只需添加WHERE ptb_users.id = $id(您可以使用mysql_insert_id()获得身份证。)

$query = "INSERT INTO ptb_users (id, user_id, first_name, last_name, email, password )
    VALUES('NULL','NULL','" . $firstname . "','" . $lastname . "','" . $email . "',MD5('" . $password . "'))";

mysql_query($query) or dieerr();
$id = mysql_insert_id();
$result = mysql_query("UPDATE ptb_users SET ptb_users.user_id = ptb_users.id,
      ptb_users.account_type = 'Client' WHERE ptb_users.id =".$id);

答案 1 :(得分:0)

不推荐使用Mysql *函数。请改用PDO/mysqli

作为一种安全措施,mysql *函数不允许您执行多个查询。但是,您可以使用Mysql *,在执行之前准备好您的语句。