从Form中将数据插入两个表

时间:2013-09-28 13:59:51

标签: php mysql

我正在尝试使用以下代码将表单中的数据插入到两个不同的表中:

$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}

if(! get_magic_quotes_gpc() )
{
   $date = addslashes ($_POST['date']);
}
else
{
   $date = $_POST['date'];
}

$num_P1 = $_POST['num_P1'];
$num_P2 = $_POST['num_P2'];
$num_P3 = $_POST['num_P3'];
$num_P4 = $_POST['num_P4'];
$num_P5 = $_POST['num_P5'];
$num_B1 = $_POST['num_B1'];
$num_B2 = $_POST['num_B2'];
$jackpot = $_POST['jackpot'];
$jackpot2 = $_POST ['jackpot']*0.842799998;
$jp_code = $_POST['jp_code'];

$sql = "INSERT INTO euromillions ".
       "(date, P1, P2, P3, P4, P5, B1, B2, jackpot, jp_code) ".
       "VALUES('$date',$num_P1,$num_P2,$num_P3,$num_P4,$num_P5,$num_B1, $num_B2, $jackpot, $jp_code)".
       "INSERT INTO euromillions_uk ".
       "(date, P1, P2, P3, P4, P5, B1, B2, jackpot, jp_code) ".
       "VALUES('$date',$num_P1,$num_P2,$num_P3,$num_P4,$num_P5,$num_B1, $num_B2, $jackpot2, $jp_code)";

mysql_select_db('lottotools');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($conn);
}
else
{
?>

我收到以下错误消息的错误:

无法输入数据:SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行“INSERT INTO euromillions_uk(日期,P1,P2,P3,P4,P5,B1,B2,头奖,jp_code)”附近使用正确的语法

有人可以建议我做错了什么。

谢谢!

3 个答案:

答案 0 :(得分:0)

您无法合并两个插入查询。您需要单独运行它们作为2个插入查询。 mysql libraries一次只执行一个查询。

答案 1 :(得分:0)

MySQL错误消息始终指示解析器发现错误的确切位置。这不是插入错误,这是语法错误。

在你的情况下,它是在第二个语句的开头。你不能在mysql_query查询中有第二个语句,无论它们是插入,选择还是其他任何内容。

您必须将两个语句分开并单独运行。

答案 2 :(得分:0)

单独查询并执行

$sql = "INSERT INTO euromillions 
       (date, P1, P2, P3, P4, P5, B1, B2, jackpot, jp_code) 
       VALUES('$date',$num_P1,$num_P2,$num_P3,$num_P4,$num_P5,$num_B1, $num_B2, $jackpot, $jp_code)";

$sql1 = "INSERT INTO euromillions_uk 
        (date, P1, P2, P3, P4, P5, B1, B2, jackpot, jp_code) 
        VALUES('$date',$num_P1,$num_P2,$num_P3,$num_P4,$num_P5,$num_B1, $num_B2, $jackpot2, $jp_code)";


$retval = mysql_query( $sql, $conn );
$retval1 = mysql_query( $sql1, $conn );