gpt4 book ai didi

php - 如何使用PHP向数据库中的2个表插入数据?

转载 作者:行者123 更新时间:2023-11-30 00:30:08 26 4
gpt4 key购买 nike

抱歉问这个问题,我是初学者。但在我写这篇文章之前,我已经搜索过类似的问题并且我已经尝试过但它不起作用,所以我决定在这里提问。

我这里有 2 张 table :

CREATE TABLE users (
id_user char (4) PRIMARY KEY,
username varchar (20),
password varchar (200),
role set ('admin','operator','user)
);


CREATE TABLE info_user (
id_info char (4),
email varchar (200),
fullname varchar (200),
birthday date,
address varchar (200),
telephone varchar (200)
);

所以每个用户都有每个信息,属性 id_info 是 id_user 的外键。外键也是如此吗?还是倒置的?下面是我的 PHP 表单代码:

<?php 
include_once('config.php');

$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$role = mysql_real_escape_string($_POST['role']);
$email = mysql_real_escape_string($_POST['email']);
$fullname = mysql_real_escape_string($_POST['fullname']);
$sex = mysql_real_escape_string($_POST['sex']);
$birthday = mysql_real_escape_string($_POST['birthday']);
$adress = mysql_real_escape_string($_POST['adress']);
$telephone = mysql_real_escape_string($_POST['telephone']);
$confirm_pass = ($_POST['confirm_password']);



if ($confirm_pass != $password) {
echo" <script language='JavaScript'> alert ('Password didn't match!');</script>";
echo '<script language="JavaScript"> window.location.href ="register.php" </script>';
} else {
$dup = mysql_query("SELECT username FROM users WHERE username='".$_POST['username']."'");
if(mysql_num_rows($dup) >0){
echo"<script language='JavaScript'> alert ('Username is already exist');</script>";
echo '<script language="JavaScript"> window.location.href ="register.php" </script>';
} else {
// simpan data ke database
$query1 = mysql_query("insert into users values('', '$username', '".md5($_POST['password'])."', '$role'");
$query2 = mysql_query("insert into info_user values ('', '$email', '$fullname', '$sex','$birthday','$adress','$telephone')");


if ($query1 && $query2) {
// if success to save data
echo" <script language='JavaScript'> alert ('Your registration is successfull');</script>";
echo '<script language="JavaScript"> window.location.href ="halaman_admin.php" </script>';
} else {
// if failed to save data
echo" <script language= 'JavaScript'> alert ('There's error occured, please try again!'); </script>";
echo '<script language="JavaScript"> window.location.href ="register.php" </script>';
}}
}
?>

我尝试使用此代码,但没有成功。如何使其发挥作用?这些表是相关的。预先感谢您对我的帮助,我真的需要这个。

最佳答案

由于您需要新创建的 user 行中的 key 才能正确创建 info_user 行,因此您需要执行此操作。

// simpan data ke database
$query1 = mysql_query("insert into users values('',
'$username',
'".md5($_POST['password'])."',
'$role'");

if ( $query1 ) {
$new_id_user = mysql_insert_id(); // get id_user of newly created user row

$query2 = mysql_query("insert into info_user values ($new_id_user,
'$email',
'$fullname',
'$sex',
'$birthday',
'$adress',
'$telephone')");
if ( ! $query2 ) {
// insert of info_user failed, code appropriatly
}
} else {
// insert of new User failed, code appropriatly
}

关于php - 如何使用PHP向数据库中的2个表插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22576967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com