Zend_Db_Adapter_Abstract::update() 必须是一个数组

发布于 2024-11-18 10:43:45 字数 592 浏览 3 评论 0原文

我在更新行时遇到一些问题。

我的类正在扩展 Zend_Db_Table_Abstract

这是我的代码:

return $this->update(
            array('data' => $data),
            $this->getAdapter()->quoteInto("id = ?", $id)
        ) ? true : false;

我不断得到的异常是: PHP Catchable fatal error: 传递给 Zend_Db_Adapter_Abstract::update() 的参数 2 必须是一个数组,给定的字符串,在第 51 行的 /Applications/MAMP/htdocs/app/library/Session/Handler.php 中调用并在/Applications/MAMP/libraries/zend-framework/ZendFramework-1.11.3-minimal/library/Zend/Db/Adapter/Abstract.php on line 587

我也尝试向它传递一个数组,但没有任何反应。有什么想法吗?

I am having some trouble updating a row.

My class is extending Zend_Db_Table_Abstract

Here is my code:

return $this->update(
            array('data' => $data),
            $this->getAdapter()->quoteInto("id = ?", $id)
        ) ? true : false;

The exception I keep getting is:
PHP Catchable fatal error: Argument 2 passed to Zend_Db_Adapter_Abstract::update() must be an array, string given, called in /Applications/MAMP/htdocs/app/library/Session/Handler.php on line 51 and defined in /Applications/MAMP/libraries/zend-framework/ZendFramework-1.11.3-minimal/library/Zend/Db/Adapter/Abstract.php on line 587

I tried passing it an array also but nothing happens. Any idea?!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

原谅过去的我 2024-11-25 10:43:45

您可以在 -> update()

示例的第二个参数中使用数组:

 $this->update(
    array('data' => $data),
    array("id = ?" => $id),
 ) ? true : false;

但字符串必须没问题

,因为

/**
 * Convert an array, string, or Zend_Db_Expr object
 * into a string to put in a WHERE clause.
 *
 * @param mixed $where
 * @return string
 */
protected function _whereExpr($where)
{
    if (empty($where)) {
        return $where;
    }
    **if (!is_array($where)) {**
        $where = array($where);
    }

You may use array in second argument of ->update()

example:

 $this->update(
    array('data' => $data),
    array("id = ?" => $id),
 ) ? true : false;

but the string must be ok

becouse

/**
 * Convert an array, string, or Zend_Db_Expr object
 * into a string to put in a WHERE clause.
 *
 * @param mixed $where
 * @return string
 */
protected function _whereExpr($where)
{
    if (empty($where)) {
        return $where;
    }
    **if (!is_array($where)) {**
        $where = array($where);
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文