doctrine native sql query update

时间:2012-05-04 22:30:23

标签: php mysql doctrine doctrine-1.2

我需要帮助。我需要使用doctrine 1.2

获取更新sql查询的结果

我用谷歌搜索,我找到了一种使用doctrine

进行本机sql查询的方法
$preparequerystring = "UPDATE mdw_reportes_operacion SET mmaplicado = 2.742495126705653 WHERE id = 5294;";
         $con = Doctrine_Manager::getInstance()->connection();
         $st = $con->executeUpdate($preparequerystring,array(false));
         print_r($st);

我想知道如何检索有关我正在执行的查询的一些信息。我试过

$result = $st->fetch(); 

但它返回500内部服务器错误。

执行UPDATE查询时检索有关查询的信息的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

为什么不使用default update from doctrine而不是行sql?

$q = Doctrine_Query::create()
        ->update('MdwReportesOperacion')
        ->set('mmaplicado', '2.742495126705653')
        ->where('id = ?', array(5294));

$rows = $q->execute();

echo $rows;

修改

我不知道如何从原始教条查询中检索结果,但您仍然可以使用pdo查询:

// update the way you want to retrieve database information
$database = sfYaml::load(dirname(__FILE__).'/../config/databases.yml');
$param = $database['all']['doctrine']['param'];
$conn = new PDO($param['dsn'], $param['username'], $param['password']);

// and then perform the query and retrieve the result
$rows = $conn->exec("UPDATE mdw_reportes_operacion SET mmaplicado = 2.742495126705653 WHERE id = 5294;");
echo $rows;