我´我刚开始使用pdo语句,当我尝试在phpMyAdminSQL控制台中设置这样的查询时,它´s工作正常:
SELECT name, number FROM client WHERE number LIKE '%30%'
结果:
|name|number|
|antonio|30857898H|
|andrés|30987454U|
但是当我用这个方法传递参数时 bindParam()
或者方法 bindValue()
或者使用类型值 PDO::PARAM_STR
或者 PDO::PARAM_INT
,其行为是查询在第一个数字处停止,然后´我不知道其他的角色。科尔夫妇都是“char”。。。
这是我的方法:
function getQueryData($key,$i_query){
require_once '../queryList.php';//get all the querys
//$key is an array like this $key[0][0] = ':number', $key[0][1] = '%30%'
$this->consulta = $this->conInstance->prepare($gQuery[$i_query]);
foreach ($key as $clave => $valor) {
$this->consulta->bindParam($key[$clave][0], $key[$clave][1]);
}
$this->consulta->execute();
$this->consulta->setFetchMode(PDO::FETCH_ASSOC);
return $this->consulta;
//Make the bucle on the system
}
这里的人真是太棒了
2条答案
按热度按时间qgelzfjb1#
尝试将like matching子句中的param内容隔离为
如
或同等产品
iq0todco2#
对于bind参数,需要用“%”传递整个字符串
查询:
代码: