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

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -