php - PDO Prepared statement insert 1 instead of string -
i have query no matter $relocation['persons_id'] is, updates residents 1.
the following code in example echo 11,13, set residents 1:
$query = $db->prepare('update `apartments` set `residents` = :persons_id , `occupation_date` = :occupation_date `id` = :apartments_id'); echo $relocation['persons_id']."<br>\n"; $query->bindparam(':persons_id', $relocation['persons_id']); $query->bindparam(':occupation_date', $relocation['occupation_date']); $query->bindparam(':apartments_id', $relocation['apartments_id']); $query->execute(); the field residents has datatype varchar(200).
can please explain doing wrong?
the problem lies here
set `residents` = :persons_id , `occupation_date` = :occupation_date which means, operator precedence
update `apartments` set `residents` = (:persons_id , `occupation_date` = :occupation_date) `id` = :apartments_id so residents updated boolean value (0/1).
maybe want use ,
update `apartments` set `residents` = :persons_id, `occupation_date` = :occupation_date `id` = :apartments_id
Comments
Post a Comment