代码之家  ›  专栏  ›  技术社区  ›  nerkn

Zend数据库错误输出

  •  0
  • nerkn  · 技术社区  · 14 年前

    我看不出我的SQL错误。它切断了我的查询,并且这个错误是没有意义的,除非它通知有一个错误。 喜欢 语句“select*from o.”中出错。

    如何获取完整的查询,以便调查错误是如何发生的?

    我以前写过一个SQL函数,它在SQL出错时抛出调试字符串。我认为Zend'ers需要并且应该有一个代码:

    if(($error = mysql_error($conn)){
      $cagiri=debug_backtrace();
      $i=count($cagiri);
    

    然后说

      [Caller__Function__] => dbSave
      [Caller__Class__] => classBasic
      [Arguments] => Array
      (
       [0] => function : loadLinks
       [1] => 
       [1] => sql error: Duplicate entry 'http://www.istanbulboncugu.com/Lokma' for key 'url'
       [2] => query: insert into downloadLinks set `title`= 'Lokma : Ä°stanbul - Avrupa', `url`= 'http://www.istanbulboncugu.com/Lokma', `site`= 'rssSehirFirsati', `status`= 'new'  
    

    所以我不挖掘30个查询,如果有错误, 错误字符串显示组成查询的函数。等。 我认为Zend缺乏这种意识。 我知道Zend不喜欢硬日志路径而不是智能方式????

    2 回复  |  直到 13 年前
        1
  •  2
  •   nerkn    14 年前

    function results($q){
      $results  = Array();
      try{
        $results =  $this->_db->query($q)->fetchAll();
      }catch(Exception $e){
        var_dump($q);
        die($e->getMessage());
      }
      return $results;
    }
    
        2
  •  1
  •   Lee    14 年前

    $select->__toString();
    

    try {
        $this->db->insert('Users', $array );
    } catch (Exception $e){
        echo $e->getMessage();
    }