0

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

$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 (date, P1, P2, P3, P4, P5, B1, B2, jackpot, jp_code)" 附近使用正确的语法

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

谢谢!

4

3 回答 3

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 );
于 2013-09-28T14:49:18.050 回答
0

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

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

您必须将这两个语句分开并分别运行它们。

于 2013-09-28T14:39:07.980 回答
0

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

于 2013-09-28T14:03:42.000 回答