如何构建此更新查询

时间:2013-04-22 14:38:23

标签: php mysql sql-update

我有URL的两个值。这就是那些,

$_GET['a'] // this variable has a email address
$_GET['b'] // this variable has a code to activate my account. 

我正在尝试使用这两个值创建UPDATE查询,但问题是这两个值属于两个不同的表。 email位于联系人表格中,active列位于用户表格中。

到目前为止,这是我的代码:

$q = "UPDATE tutors SET active = NULL 
      WHERE (active='" . mysqli_real_escape_string($dbc, $_GET['z']) . "') 
      LIMIT 1";

这段代码对我有用。但我需要检查WHERE子句中的两个值。有人可以帮我构建这个查询吗?

更新:

$q = "UPDATE tutors t, contact c SET t.active = NULL 
      WHERE t.active = '" . mysqli_real_escape_string($dbc, $_GET['z']) . "' 
          AND c.email = '" . mysqli_real_escape_string($dbc, $_GET['y']) . "' 
          AND t.contact_id = c.contact_id
      LIMIT 1";

谢谢。

1 个答案:

答案 0 :(得分:0)

猜测:如果您的tutorscontacts通过contact_id表格中的tutors进行关联,则可以使用此类内容。

<?php
$q = "UPDATE tutors T, contacts C SET T.active = NULL 
WHERE T.active = '" . mysqli_real_escape_string($dbc, $_GET['z']) . "' 
AND C.email = '" . mysqli_real_escape_string($dbc, $_GET['a']) . "' 
AND T.contact_id = C.contact_id"

但是......我需要有关您的数据库架构的更多信息,以便更准确地回答这个问题。