Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk memasukkan nilai tertentu dalam medan input walaupun sebahagian daripadanya kosong?

Bagaimana untuk menukar satu atau lebih nilai pilihan? Jika saya memasukkan nilai ia berfungsi. Namun, jika saya memasukkan dua nilai dalam dua medan input, ia tidak berfungsi, menunjukkan ralat berikut.

Ralat mengemas kini rekod: Terdapat ralat dalam semakan sintaks SQL anda; Manual yang sepadan dengan versi pelayan MariaDB anda Sintaks Baris 1 digunakan berhampiran 'nat = 'saf' WHERE id = '16''

if (isset($_POST['modifica'])) {
    $id = $_POST['id'];

    $semaphore = false;
    $sql = "UPDATE users SET ";
    $fields = array('nume', 'nat', 'email', 'telefon');
    foreach ($fields as $field) {
        if (isset($_POST[$field]) and !empty($_POST[$field])) {
            $var = ($_POST[$field]);
            $sql .= $field." = '$var'";
            $semaphore = true;
        }
    }

    if ($semaphore) {
        $sql .= " WHERE id = '$id'";
        ($sql);
    }
    
    if ($conn->query($sql) === true) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: ".$conn->error;
    }

    $conn->close();
}

P粉418854048P粉418854048236 hari yang lalu375

membalas semua(1)saya akan balas

  • P粉798010441

    P粉7980104412024-03-21 00:02:31

    @m-eriksson pelaksanaan ulasan:

    $sql = "UPDATE users SET nume = :nume, nat = :nat, email = :email, telefon = :telefon";
    
    $fields = array('nume', 'nat', 'email', 'telefon');
    
    if(count($fields) > 0 ){ 
        $this->update($sql, $fields, $con)
        $semaphore = true;
    }
    
    public function update ($sql, $fields, $con)
    {
        $update = $con->prepare($query);
        return $update->execute($fields);
    }

    balas
    0
  • Batalbalas