我需要你的帮助。
在我的网站上,我让员工使用此代码从 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]')";
它工作正常
然后,管理员在按下接受按钮时从 comboBox 中按员工 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 {
它总是提供已经更新的详细信息...
我该怎么做?
与 0 的比较似乎有点不精确。 以下内容来自有关mysql_query
的文档:
对于返回结果集的 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他语句,mysql_query() 在成功时返回资源,在错误时返回 FALSE。
对于其他类型的 SQL 语句,INSERT、UPDATE、DELETE、DROP 等,mysql_query() 在成功时返回 TRUE,在出错时返回 FALSE。
与其if ($n==0)
,不如尝试if ($n===FALSE)
或交替if (! $n)
。