Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更新从combobox获取的数据?_Php_Mysql_Combobox_Updates - Fatal编程技术网

Php 如何更新从combobox获取的数据?

Php 如何更新从combobox获取的数据?,php,mysql,combobox,updates,Php,Mysql,Combobox,Updates,请帮帮我 我需要你的帮助 在我的网站中,我让员工使用此代码从comboBox中选择他想要的部门名称 $dept_id = $_SESSION['dept_id']; $from= "SELECT d.dept_id, 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);

请帮帮我

我需要你的帮助

在我的网站中,我让员工使用此代码从comboBox中选择他想要的部门名称

$dept_id = $_SESSION['dept_id'];
    $from= "SELECT d.dept_id, 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);
    //$row1 = mysql_fetch_array($result_form); // get 1st result row

    $dept_from = mysql_fetch_assoc($result_form);
$dept_name = $dept_from['name'];
    //$row=mysql_fetch_array($result_form);
    //echo    $row1['name'];

    $date1=date("Y/m/d");
    $dept_id = $_SESSION['dept_id'];
$query = "INSERT INTO request (`date`, `description`, `from`, `emp_id`, `to`)

    VALUES

('$date1','$_POST[description]','$dept_name','$emp_id','$_POST[to]')";  
它工作正常

然后,管理员在按下“接受”按钮时,从组合框中选择“按员工ID请求”,数据将被更新

这是它的代码

if(array_key_exists('accept', $_POST)) { 
   $conn = mysql_connect("localhost","root","");
  mysql_select_db("employee_transfare", $conn);  
  $emp_id=$_POST['emp_id'];
  $dept_id = $_SESSION['dept_id'];
   $query="UPDATE employee SET dept_id='$dept_id' WHERE emp_id= $emp_id ";

  $n=mysql_query($query, $conn);

  if($n==0)
    echo "<h2>details already updated </h2>";
  else
    echo "<h2>details successfully updated</h2>";       
  mysql_close($conn);   
  }
else { 
如果(数组\键\存在('accept',$\ POST)){
$conn=mysql_connect(“本地主机”、“根目录”、“根目录”);
mysql\u select\u db(“员工转换”,$conn);
$emp_id=$_POST['emp_id'];
$dept\u id=$\u会话['dept\u id'];
$query=“更新员工设置部门id='$dept\U id',其中emp\U id=$emp\U id”;
$n=mysql\u查询($query,$conn);
如果($n==0)
echo“详细信息已更新”;
其他的
echo“详细信息已成功更新”;
mysql_close($conn);
}
否则{
它总是提供已经更新的详细信息


我该怎么做?

你处理事情的方式不正确 mysql\u query($query,$conn);将返回一个布尔值(true或false)。因此您的代码无法正常工作

用下面的方法试试这个方法

$n=mysql_query($query, $conn);
 if (mysql_affected_rows()>0){
   echo "<h2>details successfully updated</h2>";       
 }else{
    echo "<h2>details already updated </h2>";
}

  mysql_close($conn);   
  }
$n=mysql\u查询($query,$conn);
如果(mysql\u受影响的\u行()>0){
echo“详细信息已成功更新”;
}否则{
echo“详细信息已更新”;
}
mysql_close($conn);
}
希望你能解决你的问题。欲了解其工作情况,请访问:


另一方面,我想建议您使用PDO或mysqli,您知道mysql已被弃用。

您的代码容易受到SQL注入的攻击:您应该查看mysqli()或PDO(),以使代码更安全。同时,添加die('Invalid query:'.mysql_error());在“详细信息已更新”之后,查看查询失败的原因。