Nach Umzug (neuer Server, neue DB-Name) Fehler in New WP_Query

  • Hallo zusammen,

    ich benutze eigene WP-querys, um zB die letzten 10 Einträge anzuzeigen.

    Das sieht in etwas so aus:

    PHP
    <?php $lastnews = new WP_Query('showposts=10');
    while ($lastnews->have_posts()) : $lastnews->the_post();
    ?>
                    <li><a href="<?php the_permalink(); ?>" title="<?php $category = get_the_category(); echo $category[0]->cat_name.': '; the_title() ?>"><?=StringCutting($post->post_title,43) ?></a></li>
    <?php endwhile; ?>

    Nach Umzug auf einen neuen Server (neue Verzeichnisstruktur auf dem Server, neuer DB-Name) habe ich in der wp-config.php alle Änderungen der DB angepasst.
    WP an sich läuft auch wunderbar.

    Jedoch ergibt zB obiger Code folgenden Fehler:

    PHP
    Warning:  mysql_error(): 12 is not a valid MySQL-Link resource in /www/htdocs/www/wp-includes/wp-db.php on line 283

    Hat jemand ne Ahnung woran das liegen kann?

    Grüße und Dank,
    Kai

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • PS: Nach nem Upgrade auf 2.6.3 ist der Fehler immernoch da, aber in einer anderen Zeile der wp-db.php

    Zitat

    Warning: mysql_error(): 12 is not a valid MySQL-Link resource in /www/htdocs/www/wp-includes/wp-db.php on line 616

  • Also WP_Query funktioniert natürlich auch in 2.6.3 noch problemlos. Hast du vielleicht irgendein Plugin, was eine eigene DB-Verbindung aufbaut? Die Fehlermeldung klingt danach, als würde die DB-Verbindung von WP gekappt.

  • Ich habe an der Konfiguration nichts geändert.
    Von einem Server auf den anderen Umgezogen (Daten via FTP verschoben, DB exportiert, importiert).

    Neue DB-Daten in wp-config eingetragen.

    Alles läuft auf Anhieb nur das nicht.


    Grüße
    Kai

  • Du hast meine Frage leider nicht beantwortet. ;-)

    WP-Query macht eine neue Datenbankabfrage, klar. Ich vermute aber, dass zwischenzeitlich eine andere DB-Abfrage eine eigene Verbindung zur DB hergestellt hat und die WP-Verbindung somit gekappt wurde. Dann kommt es bei der WP-Query-Abfrage zur o.g. Fehlermeldung.

    Dies kann durchaus durch irgendeinen php.ini-Parameter verursacht werden werden, aber frag mich jetzt nicht welcher. Irgendwo bei den MySQL-Verbindungsparametern wahrscheinlich.
    PHP: php.ini directives - Manual

  • Du hast vollkommen Recht!

    Ich habe vor den Problematischen stellen ein eigenes php includiert, welches unabhängig von der WP-DB agiert.

    Darin mache ich mit

    Zitat

    $db_link = @mysql_connect...


    usw
    eine neue Verbindung auf und hole mir meine Daten.

    Ganz am Ende schließe ich diese Verbindung mit

    Zitat

    mysql_close($db_link);

    wieder.

    Jetzt frage ich mich aber, wie das Problem entsteht (nur eine mysql-Verbindung pro Skript?) und wie ich es beheben kann?

    Grüße und Dank,
    Kai

  • Ein reines setzten von "true" hat es nicht gebracht.
    Hast du eine Idee, mit welchen Stichwörtern ich die von dir genannten Artikel finde?


    Grüße
    Kai

  • Ein reines setzten von "true" hat es nicht gebracht.


    Sollte eigentlich. Wenn du dann noch deinen weiteren Abfragen diese Verbindungskennung übergibst, dann sollte alles funktionieren.

    Zitat

    Hast du eine Idee, mit welchen Stichwörtern ich die von dir genannten Artikel finde?


    Ich schau mal...

    EDIT: "valid MySQL-Link resource" liefert u.a.

    1. http://forum.wordpress-deutschland.org/plugins-und-wi…lermeldung.html
    2. http://forum.wordpress-deutschland.org/plugin-entwick…-datenbank.html

    Und in einem der Threads hab ich noch das hier gefunden:
    http://www.tutorials.de/forum/php/2445…g-abfragen.html

  • Sehr komisch.
    Ich habe eigentlich den Rat befolgt... also konsequent den Identifier benutzt und ne neue Verbindung aufgebaut:

    Zitat


    $db_link = mysql_connect($config['dbhost'], $config['dbuser'], $config['dbpassword'],true) or die('Error. Database connection failed.');
    mysql_query("SET NAMES 'utf8'",$db_link);
    mysql_select_db($config['dbdatabase'],$db_link);
    $result = mysql_query ($sql,$db_link) or die('Fehler bei SQL-Abfrage');
    mysql_close($db_link);

    Selbst wenn ich das mysql_close auskommentiere hilft es nicht.
    Kann der Provider die Anzahl begrenzen und das dann zum Problem führen?
    Kennst du noch nen anderen Trick?


    Grüße
    Kai

    PS: Die phpinfo mysql Werte sehen ja eigentlich nicht Problematisch aus, oder?

    Einmal editiert, zuletzt von kai4711 (16. November 2008 um 21:34)

  • Ich habe eigentlich den Rat befolgt... also konsequent den Identifier benutzt und ne neue Verbindung aufgebaut:

    Selbst wenn ich das mysql_close auskommentiere hilft es nicht.
    Kann der Provider die Anzahl begrenzen und das dann zum Problem führen?
    Kennst du noch nen anderen Trick?


    Leider nicht. Frag vielleicht mal beim Hoster an, ob der da weiter weiß. Der sollte seine Konfig ja am besten kennen. Die php.ini sieht nach meinen bescheidenen Kenntnissen okay aus.

    Mein "Trick" ansonsten wäre, eine einzige DB-Verbindung zu nutzen, falls du die Möglichkeit hast, alle Inhalte in derselben DB zu halten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!