Потому что вы не добавляя WHERE будут обновлены заявление все строки. Как отмечено в приведенных выше комментариях, у вас есть трейлинг, который вызывает недопустимый запрос.
Также рекомендуется использовать подготовленные инструкции для предотвращения внедрения SQL.
$statement = $db->prepare("UPDATE `debtorsmaster` SET `name`=?, `address1`=?, `address2`=?, `address3`=?");
$statement->bind_param("ssss", $customerName, $address1, $address2, $address3);
$customerName = $_POST['CustName'];
$address1 = $_POST['Address1'];
$address2 = $_POST['Address2'];
$address3 = $_POST['Address3'];
$statement->execute();
EDIT: Вышеприведенный пример основан на mysqli.
Нравится это (кроме конечных ','), но желательно с помощью подготовленных операторов и фактически выполняемых :) –
Но это обновляет все строки в таблице. Обычно этого не требуется, но это то, что делает ваш запрос. –
Без предложения WHERE вы обновите все строки. – jarlh