aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2006-03-25 17:00:53 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2006-03-25 17:00:53 +0000
commit1096b13c7e9594b5ef1c610d1d744ae01d8eabfa (patch)
tree4b5185ce4ac829828f2f9ea69fea3d4dd5a76c7b
parentc92e1c12a07a1c0eca024f0c127d875c08901f24 (diff)
downloadforums-1096b13c7e9594b5ef1c610d1d744ae01d8eabfa.tar
forums-1096b13c7e9594b5ef1c610d1d744ae01d8eabfa.tar.gz
forums-1096b13c7e9594b5ef1c610d1d744ae01d8eabfa.tar.bz2
forums-1096b13c7e9594b5ef1c610d1d744ae01d8eabfa.tar.xz
forums-1096b13c7e9594b5ef1c610d1d744ae01d8eabfa.zip
make sure sql ary is filled before executing the query
git-svn-id: file:///svn/phpbb/trunk@5723 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/includes/acp/acp_profile.php30
-rw-r--r--phpBB/includes/acp/acp_users.php11
-rw-r--r--phpBB/includes/ucp/ucp_profile.php11
3 files changed, 34 insertions, 18 deletions
diff --git a/phpBB/includes/acp/acp_profile.php b/phpBB/includes/acp/acp_profile.php
index 20671342e8..1dcabfc1f1 100644
--- a/phpBB/includes/acp/acp_profile.php
+++ b/phpBB/includes/acp/acp_profile.php
@@ -1217,25 +1217,35 @@ class acp_profile
$where_sql[] = $key . ' = ' . ((is_string($value)) ? "'" . $db->sql_escape($value) . "'" : (int) $value);
}
+ if (!sizeof($where_sql))
+ {
+ return;
+ }
+
$sql = "SELECT $check_key
FROM $table
WHERE " . implode(' AND ', $where_sql);
$result = $db->sql_query($sql);
-
- if (!$db->sql_fetchrow($result))
- {
- $db->sql_freeresult($result);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+ if (!$row)
+ {
$sql_ary = array_merge($where_fields, $sql_ary);
- $db->sql_query("INSERT INTO $table " . $db->sql_build_array('INSERT', $sql_ary));
+
+ if (sizeof($sql_ary))
+ {
+ $db->sql_query("INSERT INTO $table " . $db->sql_build_array('INSERT', $sql_ary));
+ }
}
else
{
- $db->sql_freeresult($result);
-
- $sql = "UPDATE $table SET " . $db->sql_build_array('UPDATE', $sql_ary) . '
- WHERE ' . implode(' AND ', $where_sql);
- $db->sql_query($sql);
+ if (sizeof($sql_ary))
+ {
+ $sql = "UPDATE $table SET " . $db->sql_build_array('UPDATE', $sql_ary) . '
+ WHERE ' . implode(' AND ', $where_sql);
+ $db->sql_query($sql);
+ }
}
}
}
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index c273a4de14..1dfbb4f516 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -678,10 +678,13 @@ class acp_users
add_log('user', $user_id, 'LOG_USER_NEW_PASSWORD', $user_row['username']);
}
- $sql = 'UPDATE ' . USERS_TABLE . '
- SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
- WHERE user_id = ' . $user_id;
- $db->sql_query($sql);
+ if (sizeof($sql_ary))
+ {
+ $sql = 'UPDATE ' . USERS_TABLE . '
+ SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
+ WHERE user_id = ' . $user_id;
+ $db->sql_query($sql);
+ }
/**
* @todo adjust every data based in the number of user warnings
diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php
index 09d4f37d64..a9327bcde0 100644
--- a/phpBB/includes/ucp/ucp_profile.php
+++ b/phpBB/includes/ucp/ucp_profile.php
@@ -179,10 +179,13 @@ class ucp_profile
);
}
- $sql = 'UPDATE ' . USERS_TABLE . '
- SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
- WHERE user_id = ' . $user->data['user_id'];
- $db->sql_query($sql);
+ if (sizeof($sql_ary))
+ {
+ $sql = 'UPDATE ' . USERS_TABLE . '
+ SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
+ WHERE user_id = ' . $user->data['user_id'];
+ $db->sql_query($sql);
+ }
// Need to update config, forum, topic, posting, messages, etc.
if ($username != $user->data['username'] && $auth->acl_get('u_chgname') && $config['allow_namechange'])