PHP在不同的表中创建条目

PHP在不同的表中创建条目,php,mysql,Php,Mysql,我目前正在做一个项目,有一些事情要做 我正在寻找一种连接两个不同表的方法。在一个表中创建条目时,它将自动在另一个表中创建条目 例如,假设我正在为一个系统创建新患者。当我在表单中输入所有数据并单击submit时,所有数据都存储在patients表中唯一的patient id下。 现在我已经在patients表中为Bob创建了一行,我希望它也在accounting表中为Bob创建一行。因此,会计数据将与患者数据绑定。 因此,当我提交新患者时,我希望它也能在会计表中创建一个新行,该行可以引用为其创建的

我目前正在做一个项目,有一些事情要做

我正在寻找一种连接两个不同表的方法。在一个表中创建条目时,它将自动在另一个表中创建条目

例如,假设我正在为一个系统创建新患者。当我在表单中输入所有数据并单击submit时,所有数据都存储在patients表中唯一的patient id下。 现在我已经在patients表中为Bob创建了一行,我希望它也在accounting表中为Bob创建一行。因此,会计数据将与患者数据绑定。 因此,当我提交新患者时,我希望它也能在会计表中创建一个新行,该行可以引用为其创建的患者

我不确定我的问题是否讲清楚了

编辑: 谢谢你的帮助!我设法把它拿起来,并与下面的人一起工作

<?
session_start();    

include "database_connect.inc";

$sql="INSERT into patients SET patient_fname='".addslashes($_POST['fname'])."',
                               patient_initial='".$_POST['initial']."', 
                               patient_lname='".addslashes($_POST['lname'])."', 
                               address='".addslashes($_POST['address'])."',
                               city='".addslashes($_POST['city'])."',
                               state='".$_POST['state']."',
                               zipcode='".$_POST['zip']."',
                               phone1label='".$_POST['phone1label']."',
                               phone1='".$_POST['phone1']."',
                               phone2label='".$_POST['phone2label']."',
                               phone2='".$_POST['phone2']."',
                               phone3label='".$_POST['phone3label']."',
                               phone3='".$_POST['phone3']."',
                               phone4label='".$_POST['phone4label']."',
                               phone4='".$_POST['phone4']."',
                               dateofinjury='".$_POST['dateofinjury']."',
                               office_location='".$_POST['officelocation']."',
                               law_office1='".$_POST['lawoffice1']."',
                               law_office2='".$_POST['lawoffice2']."',
                               insurance1='".$_POST['insurance1']."',
                               pip='".$_POST['pip']."',
                               claim1='".$_POST['claim1']."',
                               insurance3='".$_POST['insurance3']."',
                               claim3='".$_POST['claim3']."'";

$result = mysql_query($sql,$cn);
if (!$result) die("ERROR - Query failed while trying to add a new patient record!<br>".$sql);

$sql="INSERT INTO accounts (patient_id,patient_name,patient_lname) VALUES(LAST_INSERT_ID(),'".$_POST['fname']."','".$_POST['lname']."')";


if (!mysql_query($sql,$cn))
    {
    die('Error' . mysql_error());   
    }

header("location:createpatient.php");

首先尝试一下,然后问你到底在哪里被卡住了

如果我是你,我会试试这样的

  BEGIN;
    INSERT INTO patients(name,details)
      VALUES('test', 'test');
    INSERT INTO patient_profiles (patient_id, information) 
      VALUES(LAST_INSERT_ID(),'something useful');
    COMMIT;

请参考一些。

这比使用手动渐进式max代码而不是id来连接表要好。

基于您的问题,我建议您使用以下概念:

例如:

table1 name: patients
table2 name: accounting

indicator:
patient_id in patients table1
accounting_id in accounting table2
那么,我们开始吧

<?php    
$sql="INSERT INTO patients (patient_fname, ...) 
VALUES ('$_POST[patient_fname]','....')";
mysql_query($sql);
if (!mysql_query($sql,$cn))
    {
    die('Error' . mysql_error());   
    }

$getIdInTable1 = mysql_query("SELECT LAST_INSERT_ID() AS patient_id 
FROM patients");
$setID = mysql_fetch_assoc($getIdInTable1);

$sql="INSERT INTO accounting (patient_id, ....) 
VALUES ({$setID['accounting_id']}, '$_POST['patient_id']','....')";
if (!mysql_query($sql,$cn))
    {
    die('Error' . mysql_error());   
    }

mysql_close($db_server);
header("location:createpatient.php");
exit();
?>

我知道有一个原因,就是人们雇佣程序员来展示你对脚本的理解程度?欢迎来到Stackoverflow。代码应该包含在问题中,以便其他人可以在您当前的工作中发现问题,然后提供帮助。这是一个很好的地方,可以看到什么问题被接受,什么问题被接受。Jean Gkol,我没有开始写剧本,主要是因为我不知道从哪里开始。好吧p等等…:谢谢你,这有点帮助。不过,我仍然有一个问题。当我插入病人时,我的id是自动递增的,所以我实际上没有输入一个值。当我运行该脚本时,帐户中的患者id始终为空,因为id是自动增加的,只需删除括号中的id即可。感谢您抽出时间回答我的问题。但是我仍然遇到一个问题,帐户中的患者id始终为0。我没有完全理解这一点。我将在当前脚本中编辑我的问题。