phalcon数据库模块的问题
比如
$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”方法的占位符应该是数值型的。如文档红框中的英文:
也就是你的SQL中的参数绑定占位符应该要替换成“?”,如下:
$statement=$db->prepare('SELECT * FROM robots WHERE name = ?');
$result=$connection->executePrepared($statement, array('Voltron'));
其次,query方法本身就是返回一个对象实例,文档中对此有说明,同时也说明了返回数组的方式:
这里我再给你以一段示例代码:
$result = $connection -> query($sql);
$result -> setFetchMode(Db::FETCH_ASSOC);
$array = $result -> fetchAll();
友情提示:多看文档:)
参考文档:链接描述
链接描述
推荐阅读
-
oracle数据库下五种解决ORA-04031错误问题的方法
-
python 之 数据库(多表查询之连接查询、子查询、pymysql模块的使用)
-
PowerDesigner生成数据库时的列中文注释乱码问题的设置方法
-
IOS开发用户登录注册模块所遇到的问题
-
浅析Oracle中sys、system和Scott用户下的数据库连接问题
-
完美解决MySQL通过localhost无法连接数据库的问题
-
Python中MySQLdb和torndb模块对MySQL的断连问题处理
-
python中常用的各种数据库操作模块和连接实例
-
一、mysql数据库,忘记密码怎么处理及处理过程中遇见的问题
-
使用cmd运行mysql数据库的时候,报错:"不是内部命令也不是可有运行的程序"问题的解决办法