注意:...第0行未知 - 如何找到正确的行,它不是“行0”

时间:2012-01-31 09:03:20

标签: php

编辑:添加了PDO电话。

这是实际错误:

Notice: Object of class PDOStatement could not be converted to int in Unknown on line 0

我一般可以找出哪一行是错误/通知的正确行,因为它是 line 0

我尝试使用register_tick_function回显 file:line ,但这不起作用,因为通知总是在我的总输出结束时输出。

我正在寻找一种通用的调试方式,因为我在该类对象中找不到任何错误。

// PHP PDO Standard
$db_server = 'mysql:host='.$this->db_host.';dbname='.$this->db_dbase;
try {
  $this->db_connection = new PDO($db_server, $this->db_user, $this->db_pass);
  $pdo_set = $this->db_connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);
  $pdo_set = $this->db_connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $pdo_set = $this->db_connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
  //DebugPrint($pdo_set, '$pdo_set');
} catch (PDOException $e) {
  //print 'Error!: '.$e->getMessage().'<br/>';
  die();
}

2 个答案:

答案 0 :(得分:1)

最后,我找到了我自己的问题的答案:

// doing PDO-sql, inserting session data, I ran into my problem.
$this->db_connection = new PDO(...);
$sql_query = "INSERT INTO ".$this->session_db_table." (...) VALUES (...)";
$sql_result = $this->db_connection->query($sql_query);

// This is the line (ideally named "0") from the notice:
return $sql_result;

return $sql_result正在抛出此通知:

“注意:类PDOStatement的对象无法在第0行的Unknown中转换为int”

$sql_resultobject;预期的返回格式似乎是boolean

所以我删除了这个return,通知现已消失。

答案 1 :(得分:0)

我暂时遇到了这个问题,并通过重新启动(w)AMP进行了修复。

我唯一的猜测是扩展未正确加载。

就我而言,我得到了:

  

MongoDB \ Model \ BSONDocument :: getiterator在未知的第0行