[英]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.