MySQL查询使用条令&;共点火器

MySQL查询使用条令&;共点火器,mysql,codeigniter,doctrine,Mysql,Codeigniter,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

编辑:我的条令查询(见下文)不起作用/产生这些错误的原因是我遗漏了

孔子学说

创建此数据库时:

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`
)
)
编辑结束

如何使用连接对象编写平面SQL查询并显示结果?例如,我如何执行:

SELECT * FROM table_name WHERE column_name LIKE '%anything_similar_to_this%';
使用类似这样的原则(此示例不起作用)

我也试过:

$search_key = 2;
$q = new Doctrine_RawSql();
$result = $q->select('column_name')
  ->from('table_name')
  ->where('id = ?', $search_key)
  ->execute();

echo $result;

条令使用自己的查询语言DQL。它使用一个查询类来处理称为Doctrine_query的查询。通过这个类,您可以使用所谓的查询生成器构建查询


您可以查看上的文档以了解其具体工作原理。

您有一个不必要的括号,这可能会导致错误。尝试更改:

SELECT * FROM table_name WHERE column_name LIKE ?)
致:

如果仍然不起作用,请尝试发布错误消息。

+1。我改变了:$conn->execute($SELECT*fromtable\u name WHERE column\u name LIKE?),$search\u key);至$conn->execute('SELECT*FROM table_name WHERE column_name LIKE?',$search_key);并得到以下错误:严重性:4096消息:传递给Doctrine_Connection::execute()的参数2必须是数组、给定字符串、传入调用。。。严重性:警告消息:为foreach()提供的参数无效。。。致命错误:未捕获异常“Doctrine\u Connection\u Mysql\u exception”,消息为“SQLSTATE[HY093]:参数编号无效:未在中绑定任何参数。。。
SELECT * FROM table_name WHERE column_name LIKE ?)
SELECT * FROM table_name WHERE column_name LIKE ?