插入多个表不会插入所有记录

时间:2014-11-10 06:55:04

标签: php mysql insert multiple-tables

我是PHP和MySQL的新手。我遇到了一个问题:一些记录被插入到数据库中,并且没有插入一些记录。有两个表

  1. 登录
  2. 资料
  3. 登录表没问题,它总是插入记录。但是配置文件表存在问题。已插入一些记录,但有些记录未插入。

    我的数据库已上线。许多人填写表格,所以我没有看到记录第二张表。这是代码:

    $pwd= $_POST['spwd'];(Get all values in the form of post)
    
    $a1 = mysql_query("INSERT INTO Login (email,password,active) VALUES('$email','$pwd','1')");
    $fk=mysql_insert_id();
    if($fk!=0)
    {
    $a2 = mysql_query("INSERT INTO Profile (name,father,age,gender,kids,nationality,house,height,whenmarry,description,partnerquality,imagepath,email,mobile,mstatus,cast,education,religion,aqeeda,peer,madaniwork,country,city,zip,job,familydetail,salary,bodybuilt,fklogin) 
                       VALUES('$name','$father',$age,$gender,$kids,'$nationality','$house','$height',$whenmarry,'$description','$partnerquality','$new_image_name','$email','$mobile',$ms,'$mothertongue','$education',$religion,$aqeeda,'$peer',$mwork,$country,'$city','$zip','$sjob','$fd','$salary',$bbuilt,$fk)");
    
    }
    if ($a1 and $a2) {
    
     $response["success"] = 1;
     $response["message"] = "Register Successfully";
     echo json_encode($response);
    
    }
    

2 个答案:

答案 0 :(得分:0)

确保Profile表中没有“主键”或“唯一”约束,因为如果存在,那么它将不允许插入重复值。还要确保变量对于不允许在MySQL中插入NULL的列具有某些值。 (在Php MySQL默认情况下不允许NULL)

答案 1 :(得分:0)

我发现我的错误是没有“主键”或“唯一”约束的问题但是问题与qutoes我忘了添加``与数据库字段,第二件事是用户输入5'6使得插入数据库的问题所以我使用mysql_real_escape_string来解决我的问题