dongliang_bj2016 2018-06-21 11:23
浏览 46
已采纳

使用3个表插入INTO

 $sql3 = "INSERT INTO users_addresses (ua_user_id,ua_address_id) VALUES ('','')";

I am new in php and my hint is to link 2 tables id's in in another one called users_addresses.When a user is registered in my database i want the user_id and address_id to clone in users_addresses(ua_user_id,ua_address_id)

My tables

enter image description here

$sql = "INSERT INTO users (user_fname,user_mname,user_lname,user_login,user_email,user_phone) 
            VALUES ('{$_SESSION['userinfo']['fname']}', '{$_SESSION['userinfo']['mname']}', '{$_SESSION['userinfo']['lname']}', '{$_SESSION['userinfo']['login']}', '{$_SESSION['userinfo']['email']}', '{$_SESSION['userinfo']['phone']}')";
    $sql1 = "INSERT INTO addresses (address_line_1,address_line_2,address_zip,address_city,address_province,address_country) 
            VALUES ('{$_SESSION['addressinfo']['adr1']}', '{$_SESSION['addressinfo']['adr2']}', '{$_SESSION['addressinfo']['zip']}', '{$_SESSION['addressinfo']['city']}', '{$_SESSION['addressinfo']['provinciq']}', '{$_SESSION['addressinfo']['durjava']}')"; 
    $sql2 = "INSERT INTO notes (note_text) 
            VALUES ('{$_SESSION['noteinfo']['note']}')";

These are my others SQL codes for adding session's data in DB.

  • 写回答

2条回答

  • dongyun8138 2018-06-21 11:41
    关注

    Use mysqli_insert_id() to get the unique ID of the insert table, this example uses Procedural style:

    <?php
    include 'connection.php';
    ......
    $InsertSQL =    "INSERT INTO users (user_fname,user_mname,user_lname,user_login,user_email,user_phone) 
                    VALUES ('{$_SESSION['userinfo']['fname']}',
                            '{$_SESSION['userinfo']['mname']}',
                            '{$_SESSION['userinfo']['lname']}',
                            '{$_SESSION['userinfo']['login']}',
                            '{$_SESSION['userinfo']['email']}',
                            '{$_SESSION['userinfo']['phone']}')";
    $ResultSQL = mysqli_query($conn, $InsertSQL) or die(mysqli_error($conn)); // <-- execute your query
    $UserID = mysqli_insert_id($conn); // <-- get the UserID
    
    $InsertSQL =    "INSERT INTO addresses (address_line_1,address_line_2,address_zip,address_city,address_province,address_country) 
                    VALUES ('{$_SESSION['addressinfo']['adr1']}',
                            '{$_SESSION['addressinfo']['adr2']}',
                            '{$_SESSION['addressinfo']['zip']}',
                            '{$_SESSION['addressinfo']['city']}',
                            '{$_SESSION['addressinfo']['provinciq']}',
                            '{$_SESSION['addressinfo']['durjava']}')"; 
    $ResultSQL = mysqli_query($conn, $InsertSQL) or die(mysqli_error($conn)); // <-- execute your query
    $AddressID = mysqli_insert_id($conn); // <-- get the AddressID
    
    $InsertSQL =    "INSERT INTO user_addresses (ua_user_id,ua_address_id) 
                    VALUES ($UserID,$AddressID)"; // <-- INSERT INTO user_address
    $ResultSQL = mysqli_query($conn, $InsertSQL) or die(mysqli_error($conn)); // <-- execute your query
    ?>
    

    You should also look into SQL Injection vulnerability, check out prepared statements.

    Hope that helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建