입니다. ID로 업데이트하려면 업데이트 양식과 쿼리를 작성하려고 노력하고 있습니다. 하지만 그가 모든 필드를 업데이 트하는 양식에 데이터를 넣을 때도 그는 "0"을 얻는 데이터베이스에서 어떤 데이터도 갖지 못합니다. 데이터가있는 필드 만 업데이트해야합니다.id로 업데이트 만하고 필드는
나를 도와 줄 수 있습니까?
나는 항상 정의되지 않은 변수를 가지고 있습니다. 그리고 첫 번째와 두 번째 필드 만 업데이트합니다!
감사합니다, here's 내 코드 :
당신은 당신이 그들을 업데이트 할 값이있는 경우 업데이트 할 만 나열 컬럼에 쿼리를 변경해야if (isset($_POST['alterar'])) {
$id_cliente = $_POST["id_cliente"];
$nome_cliente = $_POST["nome_cliente"];
$telefone_cliente = $_POST["telefone_cliente"];
$morada_cliente = $_POST["morada_cliente"];
$email_cliente = $_POST["email_cliente"];
$servico = $_POST["servico"];
$n_pecas = $_POST["n_pecas"];
$tp_arranjo = $_POST["tp_arranjo"];
$descricao = $_POST["descricao"];
}
$query = "UPDATE `clientes` SET ";
if ($nome_cliente) $columns[] = "`nome_cliente` = '{$nome_cliente}'";
if ($telefone_cliente) $columns[] = "`telefone_cliente`= '{$telefone_cliente}'";
if ($morada_cliente) $columns[] = "`morada_cliente` = '{$morada_cliente}'";
if ($email_cliente) $columns[] = "`email_cliente` = '{$email_cliente}'";
if ($servico) $columns[] = "`servico` = '{$servico}'";
if ($n_pecas) $columns[] = "`n_pecas` = '{$n_pecas}'";
if ($tp_arranjo) $columns[] = "`tp_arranjo` = '{$tp_arranjo}'";
if ($descricao) $columns[] = "`descricao` = '{$descricao}'";
$columns = implode(",",$columns);
$query .= $columns . " WHERE id_cliente='$id_cliente'";
mysql_query($query);
?>
좋은 [sql injection holes] (http://bobby-tables.com). 서버 pwn3d를 가지고 즐기십시오. –
새 코드에서 mysql_ * 함수를 사용하지 마시고 *넣어주십시오. (ifet ($ _ POST [ 'alterar'])) {'사용자의 데이터베이스 코드''}' – GBD
더 많은 것을 설명 할 수 있습니다 – Nation