Przeglądaj źródła

Better debug SQL error (#5916)

* Better debug SQL error

* Fix check
Alexandre Alapetite 2 lat temu
rodzic
commit
133892a89e
1 zmienionych plików z 10 dodań i 2 usunięć
  1. 10 2
      lib/Minz/ModelPdo.php

+ 10 - 2
lib/Minz/ModelPdo.php

@@ -196,9 +196,17 @@ class Minz_ModelPdo {
 			}
 		}
 
-		$callingFunction = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3)[2]['function'] ?? '??';
+		$backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 6);
+		$calling = '';
+		for ($i = 2; $i < 6; $i++) {
+			if (empty($backtrace[$i]['function'])) {
+				break;
+			}
+			$calling .= '|' . $backtrace[$i]['function'];
+		}
+		$calling = trim($calling, '|');
 		$info = $stm == null ? $this->pdo->errorInfo() : $stm->errorInfo();
-		Minz_Log::error('SQL error ' . $callingFunction . ' ' . json_encode($info));
+		Minz_Log::error('SQL error ' . $calling . ' ' . json_encode($info));
 		return null;
 	}