]> git.mxchange.org Git - friendica.git/commitdiff
PR 3419: Avoid problems with PHP7 and dba.php
authorMichael <heluecht@pirati.ca>
Tue, 2 May 2017 10:47:53 +0000 (10:47 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 2 May 2017 10:47:53 +0000 (10:47 +0000)
include/dba.php

index 1ee266215013894e789a8d5264eee69a7ccacedc..8cbad876f50d41f419f8cb9de966f437cf572fb0 100644 (file)
@@ -577,7 +577,7 @@ class dba {
                }
 
                if (self::$dbo->errorno != 0) {
-                       logger('DB Error '.self::$dbo->errorno.': '.self::$dbo->error);
+                       logger('DB Error '.self::$dbo->errorno.': '.self::$dbo->error."\n".self::replace_parameters($sql, $args));
                }
 
                $a->save_timestamp($stamp1, 'database');
@@ -814,6 +814,9 @@ class dba {
                        $field = array_keys(self::$relation[$table])[0];
                        $rel_def = array_values(self::$relation[$table])[0];
 
+                       // Create a key for preventing double queries
+                       $qkey = $field.'-'.$table.':'.implode(':', array_keys($param)).':'.implode(':', $param);
+
                        // When the search field is the relation field, we don't need to fetch the rows
                        // This is useful when the leading record is already deleted in the frontend but the rest is done in the backend
                        if ((count($param) == 1) AND ($field == array_keys($param)[0])) {
@@ -823,14 +826,8 @@ class dba {
                                                $commands = array_merge($commands, $retval);
                                        }
                                }
-                       } else {
-                               // Create a key for preventing double queries
-                               $qkey = $field.'-'.$table.':'.implode(':', array_keys($param)).':'.implode(':', $param);
-
-                               // We quit when this key already exists in the callstack.
-                               if (isset($callstack[$qkey])) {
-                                       continue;
-                               }
+                       // We quit when this key already exists in the callstack.
+                       } elseif (!isset($callstack[$qkey])) {
 
                                $callstack[$qkey] = true;