I'm trying to add an entry into a table if it doesnt exist of update it if it does exist.
$sql = "INSERT INTO company
(userid, companyName, registeredAddress, registeredPostcode)
VALUES ($userid, companyName = :companyName, registeredAddress = :registeredAddress, registeredPostcode = :registeredPostcode)
ON DUPLICATE KEY UPDATE
companyName = :companyName,
registeredAddress = :registeredAddress,
registeredPostcode = :registeredPostcode;";
$stmt = $this->connect()->prepare($sql);
$stmt->execute(['companyName' => $companyname,
'registeredAddress' => $registeredaddress,
'registeredPostcode' => $registeredpostcode]);
If the userid already exists then the update works perfectly.
If there is no userid it creates a row with teh user id but then places 0 or 1 in the other fields. 0 if there is a value and 1 if no value is passed.
Any idea where I'm going wrong?