Mailinglisten-Archive |
At 19:03 25.04.2002 +0200, you wrote: >Hallo Liste, > >Habe folgendens Problem: >Beim Verwenden von 4-5 Datenbank Anfragen auf der gleichen Seite mit 2-3 >Klassen Instanzen kommt es immer zu einem MySQL Error. >Das gleiche mit nur 2 Anfragen funktioniert problemlos. >Hatte jemand schonmals das gleiche Problem und weiss dazu eine Lösung ? > >Beispiel: >************************ >// Instanzen erstellen >$db = new memberDB(); >$db1 = new linksDB(); >$db2 = new usersDB(); > >Fehlermeldung: >************************ >Database error: >Invalid SQL: SELECT * FROM links ORDER BY Added DESC limit 0,40 >MySQL Error: 2013 (Lost connection to MySQL server during query) Ich glaube das könnte dein problem sein. Dies ist ein kurzer ausschnitt aus dem artikel "Webserver verstehen und tunen" von Kristian Köhntopp komplett nachzulesen unter http://www.koehntopp.de/kris/artikel/webtune/. PHP geht bei der Verwaltung von MySQL-Datenbankverbindungen übrigens von der falschen Annahme aus, daß eine Datenbankverbindung zustandslos ist und daher gefahrlos wiederverwendet werden könne, wenn ein zweiter Connect mit derselben Username/Paßwort/Hostname-Kombination gemacht wird Obwohl hier zwei verschiedene MySQL-Datenbankverbindungen geöffnet werden sollen, wird in beiden Fällen dieselbe Link-ID zurückgeliefert. Es handelt sich also in beiden Fällen um dieselbe Datenbankverbindung. Dies wird in dem Moment zum Problem, wo der Zustand der Datenbank, der per Link-ID verwaltet wird, sich ändert. In MySQL gehört zu diesem Zustand der Name der aktuellen logischen Database, mit der gearbeitet wird. Wird diese Database mittels "use <databasename>" oder mit Hilfe von mysq_select_db() verändert, wirkt sich die Änderung auf die beiden vermeintlich unabhängigen Datenbankverbindungen aus. Abhilfe schafft hier nur, entweder nur mit einer einzigen Datenbank zu arbeiten oder mit Hilfe von mehreren unterschiedlichen Benutzernamen unterschiedliche Datenbankverbindungen zu erzwingen.
php::bar PHP Wiki - Listenarchive