Мне нужна ваша помощь..
На своем веб-сайте я позволил сотруднику выбрать название отдела, которое он хочет, из 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, когда он нажимает кнопку подтверждения, данные должны обновляться.
и это его код
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)
,
Других решений пока нет …