sync Funktion Problem /
Verfasst: 04.11.2006 20:16
Hallo,
habe etwas sehr eigenartiges festgestellt. Die phpBB Standartfunktion sync (includes/functions_admin.php) führt alle SQL korrekt aus, allerdings funktioniert das UPDATE Statement nicht, obwohl die Syntax Korrekt ist. Der selbe UPDATE Query mit phpmyadmin funktioniert einwandfrei.
Hier der Code aus der sync Funktion:
Das QUERY was nicht funktioniert:
Die forum_id gibt es in der Datenbank. Eigenartigerweise funktioniert es wenn die sync Funktion in einem anderen Script aufgerufen wird.
Woran kann das nur liegen?
habe etwas sehr eigenartiges festgestellt. Die phpBB Standartfunktion sync (includes/functions_admin.php) führt alle SQL korrekt aus, allerdings funktioniert das UPDATE Statement nicht, obwohl die Syntax Korrekt ist. Der selbe UPDATE Query mit phpmyadmin funktioniert einwandfrei.
Hier der Code aus der sync Funktion:
Code: Alles auswählen
case 'forum':
$sql = "SELECT MAX(post_id) AS last_post, COUNT(post_id) AS total
FROM " . POSTS_TABLE . "
WHERE forum_id = $id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get post ID', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$last_post = ( $row['last_post'] ) ? $row['last_post'] : 0;
$total_posts = ($row['total']) ? $row['total'] : 0;
}
else
{
$last_post = 0;
$total_posts = 0;
}
$sql = "SELECT COUNT(topic_id) AS total
FROM " . TOPICS_TABLE . "
WHERE forum_id = $id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get topic count', '', __LINE__, __FILE__, $sql);
}
$total_topics = ( $row = $db->sql_fetchrow($result) ) ? ( ( $row['total'] ) ? $row['total'] : 0 ) : 0;
$sql = "UPDATE " . FORUMS_TABLE . "
SET forum_last_post_id = $last_post, forum_posts = $total_posts, forum_topics = $total_topics
WHERE forum_id = $id";
echo $sql."<br>";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update forum', '', __LINE__, __FILE__, $sql);
}
break;
Code: Alles auswählen
UPDATE phpbb_forums SET forum_last_post_id = 9890, forum_posts = 32, forum_topics = 32 WHERE forum_id = 46
Woran kann das nur liegen?