Wie kann man bestimmte Werte in Eingabefelder eingeben, auch wenn einige davon leer sind?
P粉418854048
P粉418854048 2024-03-20 09:52:58
0
1
387

Wie ändere ich einen oder mehrere Auswahlwerte? Wenn ich einen Wert eingebe funktioniert es. Wenn ich jedoch in beide Eingabefelder zwei Werte eingebe, funktioniert es nicht und zeigt die folgende Fehlermeldung an.

Fehler beim Aktualisieren des Datensatzes: Es liegt ein Fehler in Ihrer SQL-Syntaxprüfung vor Das Handbuch, das Ihrer MariaDB-Serverversion entspricht Zeile 1 Syntax, die in der Nähe von 'nat = 'saf' WHERE id = '16'' verwendet wird

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粉418854048
P粉418854048

Antworte allen(1)
P粉798010441

@m-eriksson 评论的实施方法:

$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);
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage