一次向2个表中插入数据

inserting data into 2 tables at once

我想知道如何将从 HTML 表单检索到的值插入到 2 tables、loginDetails 和 memberDetails。

loginDetails(代码中显示table_1)

loginID (PK) <-- 自动递增

用户名

密码

memberDetails(代码中显示table_2)

memberID (PK) <-- 自动递增

登录ID(FK)

这些是我到目前为止的代码,但是 memberDetails table 中的登录 ID 始终为 0,:

PHP 代码

$Query = "INSERT INTO $table_1 VALUES (NULL,
    '".$formValue['username']."',
    '".$formValue['password']."')";
if (mysqli_query($Link, $Query)) {
        $lastID = mysql_insert_id();
        $Query2 = "INSERT INTO $table_2 VALUES (NULL,
        '".$lastID."')";
        if (mysqli_query($Link, $Query2)) {
            $message = "You've sucessfully created the account!";
            echo json_encode(array('success'=>'true', 'action'=>'login','html'=>$message, 'console.log'=>$Query));
        }
        else {
            $message = "Error occur in query2";
            echo json_encode(array('action'=>'error','html'=>$message, 'console.log'=>$Query));
        }
    }
    else {
        $message = "Error in query1";
        echo json_encode(array('action'=>'error','html'=>$message, 'console.log'=>$Query));
    }

这个问题要是能解决就好了,我已经折腾了3个晚上了。干杯。

您可以将查询放在一个数组中。遍历数组。如果发生错误,请退出脚本。

$myQueries = array(`"INSERT INTO $table_1 VALUES (NULL,
'".$formValue['username'].",
'".$formValue['password']."')",
  "INSERT INTO $table_2 VALUES (NULL,
    '".$lastID."')"
  )`;

 for($i = 0; $i < count($myQueries); $i++){
     if (mysqli_query($Link, $myQueries[$i])) {
           $lastID = mysql_insert_id();
            $message = "You've sucessfully created the account!";
            echo json_encode(array('success'=>'true', 
             'action'=>'login',
              'html'=>$message, 
              'console.log'=>$Query));
    }
    else {
        $message = "Error occur in query[$i]";
        echo json_encode(array('action'=>'error',
        'html'=>$message,                   
       'console.log'=>$Query));
        exit; // stops the next query
     }
    }
 }