sql >> Databáze >  >> RDS >> Mysql

tabulka aktualizuje prázdná místa, když uživatel do textového pole nic nezadá

Používáte $_POST pro 'name/pos/dep/tag' a $_GET pro 'emp', takže pravděpodobně nedostáváte hodnoty. Změňte GETs na POST – to by mělo stačit. Vzhledem k tomu, že aktualizujete, já' d doporučuji použít POST přes GET. GET je vhodnější pro vyhledávání.

Také můžete všechny své aktualizační dotazy vložit do jednoho aktualizačního dotazu. Podobně.

$name = $_POST['name'];
$pos = $_POST['pos'];
$dep = $_POST['dep'];
$tag = $_POST['tag'];
$emp = $_POST['emp'];

$qry_start = "UPDATE gpl_employees_list SET ";
$where = " WHERE emp_id = $emp";
$fields = "";
$updates = "";

if($name){
  $updates .= " `emp_name` = $name,";
}
if($pos){
  $updates .= " `emp_pos` = $pos,";
}
if($dep){
  $updates .= " `emp_dep` = $dep,";
}
if($tag){
  $updates .= " `emp_tag` = $tag,";
}
$updates = substr($updates, 0, -1); //To get rid of the trailing comma.
$qry = $qry_start . $updates . $where;


  1. Přehled křížové replikace PostgreSQL a MySQL

  2. Jak se vyhnout vkládání duplicitních záznamů do MySQL

  3. Proč DBI implicitně mění celá čísla na řetězce?

  4. Chyba MySQL/PHP:[2002] Obvykle je povoleno pouze jedno použití každé adresy soketu (protokol/síťová adresa/port)