Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PDO绑定值为';t允许特定参数通过(PHP)_Php_Postgresql - Fatal编程技术网

PDO绑定值为';t允许特定参数通过(PHP)

PDO绑定值为';t允许特定参数通过(PHP),php,postgresql,Php,Postgresql,我正在使用PHP和PDO来实现PostgreSQL。当我试图将一个特定的值绑定到查询中时,我的行为变得很奇怪。我所拥有的是: $value[0][$i] = "'%{$filtervalue}%'"; $values[] = & $value[0][$i]; $result = $pdo->prepare($query); $result->bindValue(':condition', $values[0]); $result->bindValue

我正在使用PHP和PDO来实现PostgreSQL。当我试图将一个特定的值绑定到查询中时,我的行为变得很奇怪。我所拥有的是:

$value[0][$i] = "'%{$filtervalue}%'";
$values[] = & $value[0][$i];
$result = $pdo->prepare($query);
$result->bindValue(':condition', $values[0]);
$result->bindValue(':starts', $start);
$result->bindValue(':pagesize', $pagesize);
现在,
$query
参数返回

SELECT orderDate, shippeddate, shipName, 
shipaddress, shipcity, shipcountry 
FROM orders  WHERE ( shipcity LIKE :condition ) 
LIMIT :pagesize OFFSET :starts 
这正是我想要的。但是,问题在于
$vales[0]
参数,因为
$pagesize
$start
工作正常

当我使用
$vales[0]
参数执行时,结果不会返回任何结果

然而,当我改变

$result->bindValue(':condition', $values[0]);

它适用于该特定条件,结果如图所示

我加倍检查以确保
$values[0]
返回
'%Bern%'
,它确实返回了

我甚至检查了类型是否为string,是否为

我甚至添加了
PDO::PARAM_STR
,但仍然一无所获

我没有办法解释它为什么不工作。

2需要更改:

$value[0][$i]=“%${$filtervalue}%”
需要是
$value[0][$i]=“%{$filtervalue}%”

$values[]=&$value[0][$i]需要是
$values[]=$value[0][$i]

注意:-您可以直接使用
$value[0][$i]
,无需创建额外变量,请执行以下操作:

$value[0][$i] = "%{$filtervalue}%";
$result = $pdo->prepare($query);
$result->bindValue(':condition', $value[0][$i]);
$result->bindValue(':starts', $start);
$result->bindValue(':pagesize', $pagesize);
$value[0][$i]=“%${$filtervalue}%”$值[]=&$value[0][$i]
需要是
$value[0][$i]=“%{$filtervalue}%”$值[]=$value[0][$i]
$value[0][$i] = "%{$filtervalue}%";
$result = $pdo->prepare($query);
$result->bindValue(':condition', $value[0][$i]);
$result->bindValue(':starts', $start);
$result->bindValue(':pagesize', $pagesize);