Could not remove user XData
Verfasst: 27.12.2005 23:34
Hallo Leute.
Ich habe den xData-mod installiert.
Leider kann sich jetzt keiner mehr registieren.
Fehlermeldung:
Zeilen 158-211 der functions.php
=>>> <<<= = Zeile 197
Was nun?
was sagt der Parameter $db->sql_query($sql) aus?
Felix
Ich habe den xData-mod installiert.
Leider kann sich jetzt keiner mehr registieren.
Fehlermeldung:
Could not remove user XData
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND field_id = LIMIT 1' at line 2
DELETE FROM phpbb_xdata_data WHERE user_id = AND field_id = LIMIT 1
Line : 197
File : functions.php
Zeilen 158-211 der functions.php
Code: Alles auswählen
function set_user_xdata($user, $which_xdata, $value, $force_user_string = false, $force_xd_string = false)
{
global $db;
// $value = trim(htmlspecialchars($value));
$value = str_replace("\\'", "'", $value);
$value = str_replace("'", "\\'", $value);
$user_is_name = ((intval($user) == 0) || $force_user_string);
$xd_is_name = ((intval($which_xdata) == 0) || $force_xd_string);
if ($user_is_name)
{
$user = trim(htmlspecialchars($user));
$user = substr(str_replace("\\'", "'", $user), 0, 25);
$user = str_replace("'", "\\'", $user);
}
$user_where = ($user_is_name) ? ('u.username = \'' . $user . '\'') : ('u.user_id = ' . $user );
$field_where = ($xd_is_name) ? ('xf.code_name = \'' . $which_xdata . '\'') : ('xf.field_id = ' . $which_xdata);
$sql = "SELECT u.user_id, xf.field_id FROM "
. USERS_TABLE . " AS u, " . XDATA_FIELDS_TABLE . " AS xf
WHERE " . $user_where . " AND " . $field_where . "
LIMIT 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'DB error while finding a user\'s XData field to edit it', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$sql = "DELETE FROM " . XDATA_DATA_TABLE . "
WHERE user_id = " . $row['user_id'] . " AND field_id = " . $row['field_id'] . "
LIMIT 1";
if ( !($db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not remove user XData', '', __LINE__, __FILE__, $sql);
}
if ($value !== '')
{
$sql = "INSERT INTO " . XDATA_DATA_TABLE . "
(user_id, field_id, xdata_value)
VALUES (" . $row['user_id'] . ", " . $row['field_id'] . ", '" . $value . "')";
=>>> if ( !($db->sql_query($sql)) ) <<<=
{
message_die(GENERAL_ERROR, 'Could not insert user XData', '', __LINE__, __FILE__, $sql);
}
}
}
Was nun?
was sagt der Parameter $db->sql_query($sql) aus?
Felix