登录到配置文件后如何将一些其他列数据插入到php中的同一数据库中

时间:2016-01-21 09:39:38

标签: php mysql

我有一个注册表格。一旦我创建了一个表单,数据就会在登录表单后插入到注册表中,我需要填写一些细节并通过比较邮件ID插入到相同的列中。但是,当我试图插入数据时,它显示为未插入数据库。

dashboard.php:

 <form method="post" action="personalinfo.php" id="myform">
    <input type='hidden' value="<?php echo $_GET['email'];?>" name='email'>     
       <div>
          <label for="first-name">First Name<span class="mandatory">*</span></label>
          <input id="first-name"  type="text" name="first-name" value="" />
        </div>   
      <button type="submit" id = "submit" class="btn btn-success btn-block"><span class="glyphicon glyphicon-off"></span> Save</button>

personalinfo.php:

 <?php
 $connection = mysql_connect("localhost", "root", "") or die(mysql_error());
 $db = mysql_select_db("accountant", $connection);
 $email=$_POST['email'];
 $firstname = $_POST['first-name'];
 $query = mysql_query("INSERT INTO registered (first-name) 
values ('$firstname') SELECT email FROM registered WHERE email!='$email'  ");
mysql_query("$query") OR die("Error:".mysql_error());
if($query)
{
    echo "Successfully Registered";        

}
else{
    echo "Registration has not been completed.Please try again";
}
?>

如果我使用mysql_error,则显示为查询为空。

7 个答案:

答案 0 :(得分:2)

  

登录表格后我需要填写一些细节

根据此行,这意味着您要更新同一行中的名字。您可以使用此查询。

在评论和其他答案中也提及

UPDATE registered SET first-name = '$firstname' WHERE email = '$email'

其他问题:

您的代码中还有其他一些问题:

  1. 使用mysql_*扩展程序已弃用,请使用mysqli_*PDO
  2. 无需使用查询功能mysql_query("$query")它应该是mysql_query($query);
  3. 两次致电mysql_query
  4. SQL注入的代码打开。
  5. 最后一件事,也就是说最重要的是,没有检查表单是否提交,如果我直接点击此文件personalinfo.php它将在您的表中插入空记录。
  6. 旁注:

    这只是一个建议,请使用下划线(_)代替连字符(-)作为表名或列名。

答案 1 :(得分:0)

请改为尝试:

$query = mysql_query("update registered set first-name = '$firstname' where email = '$email'");

答案 2 :(得分:0)

使用您的查询:

$query = mysql_query("UPDATE registered set first-name = '$firstname'
WHERE email = '$email'");

这里将把first-name值更新为$ firtname的值,其中电子邮件等于$ email值。有关详细信息,请查看此网址:http://www.w3schools.com/php/php_mysql_update.asp

答案 3 :(得分:0)

这将满足您的需求。

$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
 $db = mysql_select_db("accountant", $connection);

 $email=$_POST['email'];
 $firstname = $_POST['first-name'];

 $res = mysql_query("SELECT email FROM registered WHERE email='$email");

 if(!$res || mysql_num_rows($res)<1){
     $query = mysql_query("INSERT INTO registered (first-name, email) values ('$firstname', '$email')") OR die("Error:".mysql_error());
     // mysql_query("$query") OR die("Error:".mysql_error());
     if($query)
     { 
        echo "Successfully Registered";        

     }
     else{
        echo "Registration has not been completed.Please try again";
     }
 }

答案 4 :(得分:0)

试试这个:

登录后,您可以通过

插入数据
$query = mysql_query("update registered set first-name = '$firstname' where email = '$email'");

答案 5 :(得分:0)

这是正确答案

<?php 

$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
$db = mysql_select_db("accountant", $connection);

$email=$_POST['email'];
$firstname = $_POST['first_name'];

$res = mysql_query("SELECT email FROM registered WHERE email='$email");

if(!$res || mysql_num_rows($res)<1){
 $query = mysql_query("UPDATE registered SET first_name='$firstname'") OR die("Error:".mysql_error());
 // mysql_query("$query") OR die("Error:".mysql_error());
 if($query)
 { 
    echo "Successfully Registered";        
 }
 else{
    echo "Registration has not been completed.Please try again";
 }
}

答案 6 :(得分:0)

这是您的评论的完整答案。

<?php 

$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
$db = mysql_select_db("accountant", $connection);

$email=$_POST['email'];
$firstname = $_POST['first_name'];

// CHECK IF THE EMAIL IS ALREADY REGISTERED PREVIOUSLY
$res = mysql_query("SELECT email FROM registered WHERE email='$email");


if(!$res || mysql_num_rows($res)<1){ // IF NOT THEN ADD THE RECORD

 $query = mysql_query("INSERT INTO registered (first_name, email) values ('$firstname', '$email')") OR die("Error:".mysql_error());
}else{ // if email already present then update the record
$query = mysql_query("UPDATE registered SET first_name='$firstname'" where email= '$email') OR die("Error:".mysql_error());
}
 if($query)
 { 
    echo "Successfully Registered";        
 }
 else{
    echo "Registration has not been completed.Please try again";
 }
}