Bug #51477 [Opn]: bind chinese Param to prepare statment return null

[email protected] ("cage dot liu at gmail dot com") Mon, 5 Apr 2010 14:11:54 +0200 (CEST)
Newsgroups php.bugs
Message-ID <[email protected]>
Edit report at http://bugs.php.net/bug.php?id=51477&edit=1

 ID:               51477
 User updated by:  cage dot liu at gmail dot com
 Reported by:      cage dot liu at gmail dot com
 Summary:          bind chinese Param to prepare statment return null
 Status:           Open
 Type:             Bug
 Package:          PDO related
 Operating System: windows2003
 PHP Version:      5.2.13

 New Comment:

Test Script works fine
but when the ? more than one
in the sql :
select gh,xm from teachers where gh=? or xmpy like ? or upper(xmpinyin)
like ? or xm like ? order by xmpy
chinese works but other filed failed

select gh,xm from teachers where xmpy like ? or upper(xmpinyin) like ?
or xm like ? or gh=? order by xmpy
other filed search works but xm failed

only xm filed include chinese


Previous Comments:
------------------------------------------------------------------------
[2010-04-05 13:46:59] cage dot liu at gmail dot com

please turn off

------------------------------------------------------------------------
[2010-04-05 13:28:48] cage dot liu at gmail dot com

Description:
------------
when use prepare statment ,binding chinese string to ? or var return
empty result .

Test script:
---------------
$ora = new
pdo("oci:dbname=//host:1521/racl;charset=zhs16gbk",$urp_user,$urp_pass,array(PDO::ATTR_PERSISTENT
=> false));
$sql = "select gh,xm from t where xm like ? order by xmpy";
$stmt = $ora ->prepare($sql);
$stmt->bindParam(1,strtoupper($_GET['xmpy'].'%');
$stmt->execute();
$r = $stmt->fetchAll(PDO::FETCH_ASSOC);

//$r = $ora->query_all("select gh,xm from t where xm like
'".iconv('utf-8','gbk',$_GET['xmpy'])."%'");

file charset is utf-8.the build-in sql works fine



------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=51477&edit=1