繁体   English   中英

如何使用外键将数据插入多个php sql表?

[英]How to insert data into multiple php sql tables with foreign keys?

我正在寻找运行三个sql查询以将3组数据插入3个不同的sql表中的登录/注册系统。 我需要能够一次更新所有三个表,同时保持所有键的准确性和最新性。 我能够使两个表正常工作,但我的登录表不允许插入任何信息。

任何帮助将是有用的:)

PHP代码:

if ($password == $password2){
        $password = md5($password);
        $sql = "INSERT INTO customer(FirstName, SecondName, Address, EmailAddress, TelephoneNumber) VALUES ('$firstname', '$surname', '$address', '$email', '$telephonenumber')";
        mysqli_query($db, $sql);
        $CustomerID = mysqli_insert_id($db);

        $sql2 = "INSERT INTO login(CustomerID, Username, PassW) VALUES ('$CustomerID', '$username', '$password')";
        mysqli_query($db, $sql2);


        $sql3 = "INSERT INTO inkstyle(CustomerID, Colour, Blackwork, Realism, Traditional, Japanese, Watercolour) VALUES ('$CustomerID', '$colour', '$blackwork', '$realism', '$traditional', '$japanese', '$watercolour')";
        mysqli_query($db, $sql3);

我的html代码在按钮和文本框方面很好。

以下是在if语句之前声明的变量ive:

 $username= mysqli_real_escape_string($db, $_POST['username']);
$password= mysqli_real_escape_string($db, $_POST['password']);
$password2= mysqli_real_escape_string($db, $_POST['password2']);
$firstname= mysqli_real_escape_string($db, $_POST['firstname']);
$surname= mysqli_real_escape_string($db, $_POST['surname']);
$address= mysqli_real_escape_string($db, $_POST['address']);
$email= mysqli_real_escape_string($db, $_POST['email']);
$telephonenumber= mysqli_real_escape_string($db,      $_POST['telephonenumber']);

$colour= mysqli_real_escape_string($db, $_POST['cb1']);
$blackwork= mysqli_real_escape_string($db, $_POST['cb2']);
$realism= mysqli_real_escape_string($db, $_POST['cb3']);
$traditional= mysqli_real_escape_string($db, $_POST['cb4']);
$japanese= mysqli_real_escape_string($db, $_POST['cb5']);
$watercolour= mysqli_real_escape_string($db, $_POST['cb6']);

我已经解决了这个问题。 这是因为我正在散列密码,但是我没有在sql表中设置足够的字符:)谢谢您的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM