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();
友情提示:多看文档:)
参考文档:链接描述
链接描述
推荐阅读
-
MSSQL数据库占用内存过大造成服务器死机问题的解决方法
-
完美解决MySQL通过localhost无法连接数据库的问题
-
一次SQL调优数据库性能问题后的过程(300W)
-
在数据库‘master’中拒绝CREATE DATABASE权限问题的解决方法
-
SQLServer 数据库变成单个用户后无法访问问题的解决方法
-
解决SQL Server的“此数据库没有有效所有者”问题
-
Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法
-
Python中MySQLdb和torndb模块对MySQL的断连问题处理
-
Python中import导入上一级目录模块及循环import问题的解决
-
卸载VS2011 Developer Preview后Sql Server2008 R2建立数据库关系图报“找不到指定的模块”错误的解决方法