我正在尝试将一些数据插入到一个表中,之后成功,我希望我的另一个表中的一个字段得到更新。我的代码如下:
<?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: '
答案 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>';
}
}