0

我对 SQL 世界很陌生,很抱歉我对此一无所知。

我在管理页面上有一个表格,可以将球员添加到球队数据库。提交表单后,我需要发生的是:

  • 玩家被插入到玩家表中(player_id 是主键并在下一步中使用)。

  • 运行一个 select 语句来获取 player_id。

  • 然后将其插入到另外两个表中:
    • team_players 和卡片。

以下是我尝试过的最佳表现:

if(isset($_POST['submit'])){ 

$first_name = mysqli_real_escape_string($con2, $_POST['first_name']);
$last_name = mysqli_real_escape_string($con2, $_POST['last_name']);
$email = mysqli_real_escape_string($con2, $_POST['email']);
$validation_code = md5($email + microtime());


$sql0 ="INSERT INTO players 
(first_name, last_name, email, validation_code)                        
VALUES ('$first_name', '$last_name','$email', '$validation_code')";



$sql01 = "SELECT player_id FROM players WHERE email='$email'";
$result01 = $con2->query($sql01);

if ($result01->num_rows > 0) {
$row01 = $result01->fetch_assoc();

$playerID = $row01['player_id'];
echo $playerID; //In for debugging. Sometimes it works sometimes it doesn't


$sql02 = "INSERT INTO team_players, cards (player_id, team_id)
VALUES('$playerID', '$id')";

感谢您对此的任何帮助。

4

1 回答 1

1

您不能使用一个查询插入两个表。

您可以使用一个事务并将它们都包含在一个事务中。

否则为每个插入执行两个单独的查询。还有一件事,您还没有执行插入到第一个表的查询

  START TRANSACTION;
INSERT INTO team_players (player_id, team_id) VALUES (...);
INSERT INTO cards (player_id, team_id) VALUES  (...);
COMMIT;
于 2016-06-06T15:04:58.953 回答