problem
its replacing single quotes with double quotes
echo $movement_data
output string :
'200407', '200396', '200397', '200398', '200399', '200400', '200401', '200402', '200403', '200404'
propel code:
$c->add(VmemberDetailsPeer::PERSON_ID,array(htmlentities($movement_data, ENT_QUOTES)),Criteria::IN);
echo $c->toString();
$person = VmemberDetailsPeer::doSelect($c);
propel query
Criteria: SQL (may not be complete): SELECT FROM vmember_details WHERE vmember_details.PERSON_ID IN (:p1) Params: vmember_details.PERSON_ID => ''200407', '200396', '200397', '200398', '200399', '200400', '200401', '200402', '200403', '200404''
output:
array(0) { }
what i need
i need to pass same comma seperated string in where clause.
if i directly push movement_data comm seperated string in array($movement_data)
- it output with special characters like '\2222\', and so on... that i have htmlspecial characters in where clause.
Don"t Use Htmlentities Result propel query
SELECT FROM vmember_details
WHERE vmember_details.PERSON_ID IN (:p1)
Params: vmember_details.PERSON_ID => '\'200407\', \'200396\', \'200397\', \'200398\', \'200399\', \'200400\', \'200401\', \'200402\', \'200403\', \'200404\''
solution i tried with explode make string to array:
$x=explode(",",$movement_data);
output:
Array
(
[0] => '200407'
[1] => '200396'
[2] => '200397'
[3] => '200398'
)
$c->add(VmemberDetailsPeer::PERSON_ID,$x,Criteria::IN);
echo $c->toString();
$person = VmemberDetailsPeer::doSelect($c);
propel query output:
SELECT FROM vmember_details WHERE vmember_details.PERSON_ID IN (:p1,:p2,:p3,:p4,:p5,:p6,:p7,:p8,:p9,:p10) Params: vmember_details.PERSON_ID => '\'200407\'', vmember_details.PERSON_ID => ' \'200396\'', vmember_details.PERSON_ID => ' \'200397\'', vmember_details.PERSON_ID => ' \'200398\'', vmember_details.PERSON_ID => ' \'200399\'', vmember_details.PERSON_ID => ' \'200400\'', vmember_details.PERSON_ID => ' \'200401\'', vmember_details.PERSON_ID => ' \'200402\'', vmember_details.PERSON_ID => ' \'200403\'', vmember_details.PERSON_ID => ' \'200404\''
- i need to pass same string where clause .