簡體   English   中英

executePrepared拋出Phalcon \\ Db \\ Exception並顯示消息Invalid bind type參數

[英]executePrepared throws Phalcon\Db\Exception with message Invalid bind type parameter

我正在嘗試使用Phalcon(1.2.5 - 1020540)\\ Phalcon \\ Db \\ Adapter \\ Pdo \\ Mysql-> executePrepared()

exectePrepared期待三個論點:

public PDOStatement executePrepared (
                PDOStatement $statement, 
                array $placeholders, 
                array $dataTypes)

但我在文檔中找不到如何填充$ dataTypes。

我試着用:

   $dataType[] = \PDO::PARAM_INT;

與:

   $dataType[] = \Phalcon\Db\Column::TYPE_INTEGER;

但使用相同的“無效綁定類型參數”消息

同樣的情況發生在1.2.4,我升級嘗試修復它。

歡迎提出任何建議。

通常phalcon需要以下語法中的db參數:

array("columnName => ':value:'", 'bind' => array('value' => 'foo'));

你試過了嗎

array('column_name' => \Phalcon\Db\Column::TYPE_INTEGER);

認為這應該工作,因為phalcon內部使用密鑰很多(例如https://github.com/phalcon/cphalcon/blob/master/ext/db/adapter/pdo.c搜索dataType)

您也可以使用describeColumns($ table)為給定的表請求PDO-Adapter(例如Phalcon \\ Db \\ Adapter \\ Pdo \\ Mysql)並獲取Phalcon \\ Db \\ Column,然后您可以請求getBindType()

$fields = $this->db->describeColumns($table);
foreach ($fields as &$field) {
    $objectFields[$field->getName()] = $field->getBindType();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM