MyBB.de Forum
Custom Search mit Thread-IDs - SQL Fehler - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: Custom Search mit Thread-IDs - SQL Fehler (/thread-28236.html)



Custom Search mit Thread-IDs - SQL Fehler - RedParkz - 18.07.2013

Hallo zusammen,

ich versuche derzeit eine custom-search zu machen, bei der nur eine bestimmte Menge an threads ausgegeben werden soll. Die Thread-IDs sind vorhanden und ich würde diese in das searcharray schreiben.
Code:
$sid = md5(uniqid(microtime(), 1));
    $searcharray = array(
        "sid" => $db->escape_string($sid),
        "uid" => $mybb->user['uid'],
        "dateline" => TIME_NOW,
        "ipaddress" => $db->escape_string($session->ipaddress),
        "threads" => $db->escape_string($tids),
        "posts" =>  '',
        "resulttype" => "threads",
        "querycache" => '',
        "keywords" => ''
    );


    
    print_r ($searcharray);
    $plugins->run_hooks("search_do_search_process");
    echo $tids;
  $db->insert_query("searchlog", $searcharray);
    
   //redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);

Testausgabe des Array

Code:
Array ( [sid] => c2949bcd7a787c1270f90b29f7010afa [uid] => 1 [dateline] => 1374150941 [ipaddress] => 92.42.225.1 [threads] => 4260,4261,4262,4263,4268,4269,4270,4271,4223,4228,4234,4265 [posts] => [resulttype] => threads [querycache] => [keywords] => )

Sobald ich redirect und das schreiben in die DB aktiv habe kommt folgender Fehler

Code:
MyBB has experienced an internal SQL error and cannot continue.

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 t.visible>-1 AND t.closed NOT LIKE 'moved|%'' at line 1
Query:
    SELECT COUNT(t.tid) AS resultcount FROM testboardmybb_threads t WHERE t.tid IN () AND t.visible>-1 AND t.closed NOT LIKE 'moved|%'

Evtl. kann mir einer auf die Spürnge helfen was ich falsch mache


RE: Custom Search mit Thread-IDs - SQL Fehler - Jockl - 18.07.2013

Wenn ein SQL-error ausgegeben wird, dann wäre es u.U. hilfreich, Deinen Query zu kennen....


RE: Custom Search mit Thread-IDs - SQL Fehler - RedParkz - 18.07.2013

da ich die Threads direkt übergebe, dachte ich, dass keine weitere query mehr notwendig ist. Es wird ja die standard-db insert verwendet. War der meinung das reicht um nur die angegeben Threads in den Suchergebnisse anzeigen zu lassen
Da kein Edit mehr möglich ist, hier ein Update. Es geht, wenn ich die zeile

"threads" => $db->escape_string($tids),

durch

"threads" => $tids,

ersetze. Smile


RE: Custom Search mit Thread-IDs - SQL Fehler - StefanT - 19.07.2013

Sicher, dass es daran lag? escape_string sollte bei einer mit Kommas getrennten Liste nichts ändern.


RE: Custom Search mit Thread-IDs - SQL Fehler - RedParkz - 19.07.2013

habe jetzt extra nochmal nachgesehen und du hast recht. Es lag am plugin-hook. Dieser wird von einem anderen plugin verwendet und das searcharray wird abgeändert. Daher keine tids und daher keine Suchergebnisse. Danke