[英]PHP/SQL: How to insert form input via SQL into 2 database tables with PHP?
我刚开始使用PHP和SQL,并且尝试使用PHP创建网站的帐户创建屏幕。 为此,我创建了一个表单文件,该文件具有对第二个文件的操作,该文件应将来自表单的输入数据插入到本地数据库的两个表中。 (我将WAMP与phpMyAdmin一起使用)-
我的(数据库)连接已建立,一切正常,并且没有任何错误,当转到phpMyAdmin并使用伪数据执行SQL语句时,它可以工作,但是当用户填写表单并单击下一步时,它不会插入数据库? 有人知道如何解决此问题吗?
这是我当前的php代码,应该通过SQL语句将数据插入2个不同的表中:
<?php
$_SESSION['user'] = $_POST['name']; //user naam ophalen van vorige pagina en onthouden voor gehele sessie
$name= $_SESSION['user'];
$_SESSION['wachtwoord'] = $_POST['access'];
$access= $_SESSION['wachtwoord'];
$_SESSION['mail'] = $_POST['email'];
$email= $_SESSION['mail'];
$_SESSION['huisdier'] = $_POST['pet'];
$pet= $_SESSION['huisdier'];
$savenewuser = "BEGIN;
INSERT INTO user (id, naam, email, pass)
VALUES (NULL, '$name', '$email', '$access');
INSERT INTO preferences (id, huisdier)
VALUES (LAST_INSERT_ID(), '$pet');
COMMIT;
ROLLBACK;";
mysqli_query($con, $savenewuser);
$result = mysqli_query($con, $savenewuser);
if (!$result) {
echo "Error: Account could not be created, try again later.";
} else {
echo "Account has been created!";
}
mysqli_close($con);
?>
执行后,我确实收到消息“错误:无法创建帐户,请稍后再试。”。 当然。 -我想我必须对SQL语句进行一些更改,但是我不确定到底有多准确。
mysqli_query被调用两次。 如果第二次调用两次,则会出错,因为您试图给两个人相同的ID(假设您正确设置了数据库)。
如果那不起作用,我将尝试用mysqli_multi_query替换mysqli_query。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.