Carlos Santiago
Carlos Santiago

Reputation: 7

PHP - Update command with DB mysql

I've tried to do this, but I just can't find the error. It worked before where I just had "name, email, mobile" when I add "password" it stops working...

I don't know what to do for it to work properly as it worked before, please help

if ( !empty($_POST)) {
    // keep track validation errors
    $nameError = null;
    $emailError = null;
    $mobileError = null;
    $passwordError = null;
    // keep track post values
    $name = $_POST['name'];
    $email = $_POST['email'];
    $mobile = $_POST['mobile'];
    $password = $_POST['mobile'];

    // validate input
    $valid = true;
    if (empty($name)) {
        $nameError = 'Please enter Name';
        $valid = false;
    }

    if (empty($email)) {
        $emailError = 'Please enter Email Address';
        $valid = false;
    }

    if (empty($mobile)) {
        $mobileError = 'Please enter Mobile Number';
        $valid = false;
    }

    if (empty($password)) {
        $passwordError = 'Please enter Password Number';
        $valid = false;
    }
    // update data
    if ($valid) {
        $pdo = Database::connect();
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //ERROR IS HERE    $sql = "UPDATE customers  set name = ?, email = ?, mobile = ?, password =?, WHERE id = ?";
        $q = $pdo->prepare($sql);
        $q->execute(array($name,$email,$mobile,$password,'ADD',$id));
        Database::disconnect();
        header("Location: index.php");
    }
} else {
    $pdo = Database::connect();
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "SELECT * FROM customers where id = ?";
    $q = $pdo->prepare($sql);
    $q->execute(array($id));
    $data = $q->fetch(PDO::FETCH_ASSOC);
    $name = $data['name'];
    $email = $data['email'];
    $mobile = $data['mobile'];
    $password = $data['password'];
    Database::disconnect();
}

?>

Upvotes: 0

Views: 69

Answers (2)

KMS
KMS

Reputation: 574

Hi seems like you have a syntax error,

unexpected comma

//ERROR IS HERE    $sql = "UPDATE customers  set name = ?, email = ?, mobile = ?, password =?, WHERE id = ?";// remove comma prior to WHERE

try like below,

  $sql = "UPDATE customers  set name = ?, email = ?, mobile = ?, password =? WHERE id = ?";

Upvotes: 0

Bram Houben
Bram Houben

Reputation: 180

you need to change $password = $_POST['mobile']; to $password = $_POST['password'];

Upvotes: 1

Related Questions