从2个表中获取数据并插入另一个表中

问题描述:

I need your help..

I am I trying to retrieve data from two tables and insert into another using php +mysql, but it doesn't work. It shows me this message (Query got problem).

This is my code:

$emp_id = $_SESSION['emp_id'];

$from= "select department.name from department,employee where emp_id='$emp_id' and department.dept_id = employee.dept_id ";
$result_form = mysql_query($from);

$dept_from = mysql_fetch_assoc($result_form);
$dept_name = $dept_from['department.name'];

$query = "INSERT INTO Student (date, description, from, emp_id, to)

VALUES

(now(),'$_POST[description]','$dept_name','$emp_id','$_POST[to]')";

$result = mysql_query($query);                                          
if(!$result)
    {die("Query got problem").(mysql_error());}
else{ 

我需要你的帮助.. p>

我正在尝试检索数据 从两个表并使用php + mysql插入另一个表,但它不起作用。 它显示了这条消息(查询有问题)。 p>

这是我的代码: p>

  $ emp_id = $ _SESSION ['emp_id'  ]; 
 
 $ from =“select department.name from department,employee where emp_id ='$ emp_id'and department.dept_id = employee.dept_id”; 
 $ result_form = mysql_query($ from); 
 
  $ dept_from = mysql_fetch_assoc($ result_form); 
 $ dept_name = $ dept_from ['department.name']; 
  code>  pre> 
 
 

$ query =“INSERT INTO Student(date) ,描述,从,emp_id,到) p>

VALUES p>

(now(),'$ _ POST [description]','$ dept_name', '$ EMP_ID', '$ _ POST [至]')“; p>

  $ result = mysql_query($ query);  
if(!$ result)
 {die(“查询得到问题”)。(mysql_error());} 
else {
  code>  pre> 
  div>

Try this:

Your mysql query in not proper use like given below:

    $emp_id = $_SESSION['emp_id'];    

    $from= "SELECT d.name FROM department d LEFT JOIN employee e ON d.dept_id = e.dept_id WHERE emp_id = '$emp_id' ";

    $result_form = mysql_query($from);
    $dept_from = mysql_fetch_assoc($result_form);
    $dept_name = $dept_from['name'];

    $query = "INSERT INTO Student (`date`, `description`, `from`, `emp_id`, `to`) VALUES (now(),'".$_POST[description]."','".$dept_name."','".$emp_id."','".$_POST[to]."')"; 

   $result = mysql_query($query); 

Let me know if you need further help.

Backticks might do the trick here.

$query = "INSERT INTO Student (`date`, `description`, `from`, `emp_id`, `to`)
    VALUES
(now(),'$_POST[description]','$dept_name','$emp_id','$_POST[to]')";

Try this

 $query = "INSERT INTO Student (date, description, from, emp_id, to)

        VALUES

    (now(),' " . $_POST['description'] ."','$dept_name','$emp_id','". $_POST['to']. "')";

Working Code below

$emp_id = 1;

$from= "select department.name from test.department,test.employee where emp_id='$emp_id' and department.dept_id = employee.dept_id ";
$result_form = mysql_query($from);
$dept_from = mysql_fetch_assoc($result_form);

$dept_name      = $dept_from['name'];
$date           = date("Y-m-d H:i:s");
$description    = isset($_POST[description])?$_POST[description]:"none";
$to             = isset($_POST[to])?$_POST[to]:"none";

$query = sprintf("INSERT INTO `test`.`test`
                    (`date`,
                    `description`,
                    `from`,
                    `emp_id`,
                    `to`)
                    VALUES
                    (
                    '%s',
                    '%s',
                    '%s',
                    '%s',
                    '%s'
                    );
                    ",
                    $date,$description,$dept_name,$emp_id,$to); 


$result = mysql_query($query);   

if(!$result)
    {
        die("Query got problem").(mysql_error());
    }