【问题标题】:How to insert data into multiple php sql tables with foreign keys?如何使用外键将数据插入到多个 php sql 表中?
【发布时间】:2018-08-07 11:43:44
【问题描述】:

我希望运行三个 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']);

【问题讨论】:

  • 您面临的问题是什么?上面的代码不起作用?
  • 数据以正确的 customerID 插入到客户表和 inkstyle 表中,但登录表不会显示任何内容
  • 问题与您的查询类似。请仔细检查您的登录表字段的拼写。
  • 在将$CustomerID、$username 和$password 用于字符串之前,您是否验证了它们的值?
  • 查询是否生成错误、警告或任何内容?这可能与您的查询和/或您的表格有关。

标签: php html sql database login


【解决方案1】:

我已经解决了。这是因为我正在对密码进行哈希处理,但我没有在 sql 表中设置足够的字符 :) 感谢您的帮助!

【讨论】:

    猜你喜欢
    • 2017-04-11
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    相关资源
    最近更新 更多