So wäre es korrekt:
- Code: Alles auswählen
if(!($cached_posts_array[$i] && $result = $db->sql_query($sql)))
Moderator: Supporter
if(!($cached_posts_array[$i] && $result = $db->sql_query($sql)))
oxpus hat geschrieben:Ich denke mit Umstellung des zuerst von Dir genannten Code-Blockes auf eine andere Variante kommt ein SQL-Fehler
und den habe ich zu beheben versucht...
for ($i = 0; $i <= count($cached_posts_array)-1; $i++)
{
$cachefile = $phpbb_root_path.'cache/posts/post_'.$cached_posts_array[$i].'.gz';
if ($cached_posts_array[$i])
{
$sql = "UPDATE " . POSTS_TABLE . "
SET parsed = 1, cache_file_md5 = '" . md5_file($cachefile) . "' , dont_cache = 0
WHERE post_id = $cached_posts_array[$i]
AND parsed = 0";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update parse info', '', __LINE__, __FILE__, $sql);
}
$corrected = $corrected + $db->sql_affectedrows($result);
}
}
SQL Error : 1064 Fehler in der SQL-Syntax. Bitte den korrekten Syntax im Handbuch nachschlagen bei 'AND dont_cache = 1' in Zeile 4
UPDATE phpbb_posts SET parsed = 1, cache_file_md5 = '' , dont_cache = 0 WHERE post_id = AND dont_cache = 1
Line : 94
File : cps-module_resync.php
if ($files_cache)
{
foreach ($files_cache as $cachefile)
{
$cached_posts_array[] = substr(str_replace('.gz', '', str_replace($phpbb_root_path.'cache/posts/', '', $file)), strrpos(str_replace('.gz', '', str_replace($phpbb_root_path.'cache/posts/', '', $file)), '_')+1 );
}
}
oxpus hat geschrieben:Die Fehlermeldung kann gar nicht aufkommen, wenn die Variable leer ist und damit die SQL-Anweisung schlicht nicht ausgeführt wird.
Häng doch mal die jetzige Version von der Datei hier an, mit meiner allerletzten Änderung.
Damit kann theoretisch überhaupt keine SQL-Anwisung ausgeführt und damit der Fehler aufkommen.
Alles andere wäre gegen meinen logischen Verstand...
Ausser, Du hattest eine andere Code-Stelle hier gepostet, als die Fehlermeldung anzeigt ?!?
oxpus hat geschrieben:Ahnte ich es doch: Lange um den heissen Brei herumgepostet.
Es waren 2 sehr ähnliche SQL-Anweisungen vorhanden, die beide angepasst werden mussten.
Ich habe aus den beiden nun eine gemacht, so spart man sich rund die Hälfte unnötiger Abfragen und der Fehler sollte nun auch endlich behoben sein...
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste