将不同的数据插入两个表中

时间:2012-01-04 22:11:36

标签: php mysql

我正在尝试将一些数据插入到一个表中,之后成功,我希望我的另一个表中的一个字段得到更新。我的代码如下:

 <?php

$room = $_REQUEST['room'];
$date = $_REQUEST['date'];
$time = $_REQUEST['time'];
$id = $_GET['meeting_id'];

$con = mysql_connect("******","****","****");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db('mdb_hj942', $con);

$sql="INSERT INTO Rooms (room, date, time, meeting_id) VALUES ('$room','$date', '$time','$id')";
$sql2="UPDATE Meetings SET action = 'success'";

if (!mysql_query($sql,$con,$sql2))
  {
        die('Error: ' . mysql_error());
  }
  else 
  {
      echo '<h2>Room & Time Has Now Been Updated</h2>';

  }
?>

这可能吗?如果是这样,我会做出哪些更改,因为我收到以下错误消息:

'Warning: Wrong parameter count for mysql_query() in E:\webareas\hj942\conference\Secretary\bookedsuccessfully.php on line 80
Error: '

4 个答案:

答案 0 :(得分:1)

if (!mysql_query($sql, $con)){
  die('Error: ' . mysql_error());
} else {
  if (!mysql_query($sql2, $con)){
    die('Error: ' . mysql_error());
  } else {
    echo '<h2>Room & Time Has Now Been Updated</h2>';
  }
}

答案 1 :(得分:0)

mysql_query不支持多个查询。您必须将数据库访问权限分成两个单独的调用。

来自php.net:

资源mysql_query(string $ query [,resource $ link_identifier])

mysql_query()向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。

答案 2 :(得分:0)

您需要单独执行每个查询。像这样的东西

$sql="INSERT INTO Rooms (room, date, time, meeting_id) VALUES ('$room','$date', '$time','$id')";
if (!mysql_query($sql,$con))
{
    die('Error: ' . mysql_error());
}
$sql2="UPDATE Meetings SET action = 'success'";

if (!mysql_query($sql2,$con))
{
    die('Error: ' . mysql_error());
}

但是在你再继续之前,请先阅读有关SQL注入的内容(搜索SO以获取“SQL注入”)。您现在的代码非常容易受到SQL注入攻击。您可能还希望了解PHP的PDO函数,以使生活更轻松。

答案 3 :(得分:0)

你不能一次给mysql_query两个查询:

  

资源mysql_query(string $ query [,resource $ link_identifier])

mysql_query() sends a unique query (multiple queries are not supported) to the
currently active database on the server that's associated 
with the specified link_identifier  
     

see here

试试这个:

 $sql="INSERT INTO Rooms (room, date, time, meeting_id) VALUES ('$room','$date', '$time','$id')";
        $sql2="UPDATE Meetings SET action = 'success'";
        if (mysql_query($sql,$con)) // will return true if succefull else it will return false
          {
                if(mysql_query($sql2, $con)){ //$sql2 succeeded
                     echo '<h2>Room & Time Has Now Been Updated</h2>';
                }
          }