编辑:我的Doctrine查询(见下文)无效/产生错误的原因是因为我遗漏了
ci_doctrine。
创建此数据库时:
CREATE TABLE `ci_doctrine`.`user` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 255 ) NOT NULL ,
`password` VARCHAR( 255 ) NOT NULL ,
`first_name` VARCHAR( 255 ) NOT NULL ,
`last_name` VARCHAR( 255 ) NOT NULL ,
UNIQUE (`username`
)
)
编辑结束
如何使用Doctrine连接对象编写平面SQL查询并显示结果?例如,我该如何执行:
SELECT * FROM table_name WHERE column_name LIKE '%anything_similar_to_this%';
使用Doctrine这样的东西(这个例子不起作用)
$search_key = 'search_for_this';
$conn = Doctrine_Manager::connection();
$conn->execute('SELECT * FROM table_name WHERE column_name LIKE ?)', $search_key);
echo $conn;
我也试过了:
$search_key = 2;
$q = new Doctrine_RawSql();
$result = $q->select('column_name')
->from('table_name')
->where('id = ?', $search_key)
->execute();
echo $result;
答案 0 :(得分:1)
Doctrine使用它自己的查询语言DQL。它使用查询类来处理名为Doctrine_Query的查询。通过这个类,您可以使用所谓的查询构建器构建查询。
您可以查看http://doctrine-project.com处的文档,了解其工作原理。
答案 1 :(得分:1)
您有一个不必要的括号,可能会导致错误。尝试更改:
SELECT * FROM table_name WHERE column_name LIKE ?)
为:
SELECT * FROM table_name WHERE column_name LIKE ?
如果仍然无效,请尝试发布错误消息。