phalcon数据库模块的问题

WBOY
发布: 2016-08-04 09:19:49
原创
1237 人浏览过

公司没有用phalcon提供的操作数据库的类库,而是用PhalconDbAdapterPdoMysql再次封装的,但是我发现里面有好多方法都有问题, 请大神帮帮忙

比如

$statement = $db->prepare('SELECT * FROM robots WHERE name = :name');
$result = $connection->executePrepared($statement, array('name' => 'Voltron'));
这一段代码就没有跑通,总是报错数值有错误

还有这个
$resultset = $connection->query("SELECT * FROM robots WHERE type='mechanical'");
$resultset = $connection->query("SELECT * FROM robots WHERE type=?", array("mechanical"));
返回的不是数组,但是没有说明用说明方式能再次取出数组的结果集

反正等等吧。。。 上面的例子都是官方文档来的

回复内容:

公司没有用phalcon提供的操作数据库的类库,而是用PhalconDbAdapterPdoMysql再次封装的,但是我发现里面有好多方法都有问题, 请大神帮帮忙

比如

$statement = $db->prepare('SELECT * FROM robots WHERE name = :name');
$result = $connection->executePrepared($statement, array('name' => 'Voltron'));
这一段代码就没有跑通,总是报错数值有错误

还有这个
$resultset = $connection->query("SELECT * FROM robots WHERE type='mechanical'");
$resultset = $connection->query("SELECT * FROM robots WHERE type=?", array("mechanical"));
返回的不是数组,但是没有说明用说明方式能再次取出数组的结果集

反正等等吧。。。 上面的例子都是官方文档来的

首先,“executePrepared”方法的占位符应该是数值型的。如文档红框中的英文:

phalcon数据库模块的问题

也就是你的SQL中的参数绑定占位符应该要替换成“?”,如下:

<code class="php">    $statement=$db->prepare('SELECT * FROM robots WHERE name = ?');
    $result=$connection->executePrepared($statement, array('Voltron'));</code>
登录后复制

其次,query方法本身就是返回一个对象实例,文档中对此有说明,同时也说明了返回数组的方式:

phalcon数据库模块的问题

这里我再给你以一段示例代码:

<code class="php">        $result = $connection -> query($sql);
        $result -> setFetchMode(Db::FETCH_ASSOC);
        $array = $result -> fetchAll();</code>
登录后复制

友情提示:多看文档:)

参考文档:链接描述
链接描述

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板