Fragen zur Verbindungeinstellung Datenbank
Moderator: Thorsten
-
- Posts: 12
- Joined: Tue Mar 14, 2006 10:36 am
Fragen zur Verbindungeinstellung Datenbank
Guten Tag,
ich habe phpmyfaq 1.5.7 mit php 4.4.1 und MS SQL 2000 auf einem Testsystem installiert. Hat grundsätzlich auch ganz gut funktioniert.
Nun habe ich aber ein paar Fragen zu diesem System.
1. In der MSSQL-Datenbank kann ich keine Tables finden. es gibt nur die üblichen Systemtabellen. Was ich komisch finde, da ich mich im Adminbereich anmelden kann und auch User, Beiträge und Antworten angelegt habe. Ich habe dann mal Testweise in der dada.php, in der die Verbindungsparameter zur Datenbank zu stehen scheinen, die IP des Servers verändert und siehe da, selbst nach einem Neustart des Servers konnte ich mich noch immer am System anmelden und Einträge bearbeiten oder hinzufügen. Wie ist das möglich? Legt das System die Konfiguration noch wo anders ab?
2. Im Adminbereich unter offene Fragen bekomme ich folgenden Error: Notice: Undefined offset: 0 in \admin\record.delquestion.php on line 52
3. ich möchte das System von der Testumgebung auf den Echtserver portieren. Reicht es, das ganze Verzeichnis auf den Webserver zu kopieren und dann mit dem bearbeiten der data.php auf die richtige DB zu leiten?
lg
redseadiver28
ich habe phpmyfaq 1.5.7 mit php 4.4.1 und MS SQL 2000 auf einem Testsystem installiert. Hat grundsätzlich auch ganz gut funktioniert.
Nun habe ich aber ein paar Fragen zu diesem System.
1. In der MSSQL-Datenbank kann ich keine Tables finden. es gibt nur die üblichen Systemtabellen. Was ich komisch finde, da ich mich im Adminbereich anmelden kann und auch User, Beiträge und Antworten angelegt habe. Ich habe dann mal Testweise in der dada.php, in der die Verbindungsparameter zur Datenbank zu stehen scheinen, die IP des Servers verändert und siehe da, selbst nach einem Neustart des Servers konnte ich mich noch immer am System anmelden und Einträge bearbeiten oder hinzufügen. Wie ist das möglich? Legt das System die Konfiguration noch wo anders ab?
2. Im Adminbereich unter offene Fragen bekomme ich folgenden Error: Notice: Undefined offset: 0 in \admin\record.delquestion.php on line 52
3. ich möchte das System von der Testumgebung auf den Echtserver portieren. Reicht es, das ganze Verzeichnis auf den Webserver zu kopieren und dann mit dem bearbeiten der data.php auf die richtige DB zu leiten?
lg
redseadiver28
Re: Fragen zur Verbindungeinstellung Datenbank
Hi,
bye
Thorsten
Die DB-Konfiguration ist nur in der inc/data.php. Wenn du mit phpMyFAQ arbeiten kannst, dann müssen auch die Tabellen da sein.redseadiver28 wrote:1. In der MSSQL-Datenbank kann ich keine Tables finden. es gibt nur die üblichen Systemtabellen. Was ich komisch finde, da ich mich im Adminbereich anmelden kann und auch User, Beiträge und Antworten angelegt habe. Ich habe dann mal Testweise in der dada.php, in der die Verbindungsparameter zur Datenbank zu stehen scheinen, die IP des Servers verändert und siehe da, selbst nach einem Neustart des Servers konnte ich mich noch immer am System anmelden und Einträge bearbeiten oder hinzufügen. Wie ist das möglich? Legt das System die Konfiguration noch wo anders ab?
Schau ich mir an!redseadiver28 wrote:2. Im Adminbereich unter offene Fragen bekomme ich folgenden Error: Notice: Undefined offset: 0 in \admin\record.delquestion.php on line 52
genau! Die inc/config.php musst du aber auch anpassen.redseadiver28 wrote:3. ich möchte das System von der Testumgebung auf den Echtserver portieren. Reicht es, das ganze Verzeichnis auf den Webserver zu kopieren und dann mit dem bearbeiten der data.php auf die richtige DB zu leiten?
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
-
- Posts: 12
- Joined: Tue Mar 14, 2006 10:36 am
Hallo Thorsten,
danke für deine rasche Antwort.
hab das Problem jetzt lösen können. Auf dem Testsystem habe ich der Einfachheit halber keinen eigenen User am SQL-Server für den Zugriff auf die DB angelegt. Hab einfach den User SA verwendet. Obwohl ich beim Aufruf der installer.php eine gültige DB angegeben habe, wurde dies für die Erstellung der Tabellen nicht verwendet, sondern die default-DB des verwendeten Useres benutzt. Im Fall des SA die DB master. Ist in meine Testsystem natürlich nicht schlimm, aber doch sicher nicht sehr ideal.
Ich hab das in meinem Testsystem auch noch mal versucht, nachzuvollziehen. Wenn ich dem User, den ich angelgt habe, in den Properties als Default-DB die neu angelegte DB für die faq’s zugeteilt habe, dann hat das Erstellen der Tabellen funktioniert. Habe ich dem User als Default-DB eine andere Datenbank zugewiesen, auf die der User keine Rechte hat, erzeugte die installer.php eine error, obwohl zuvor die korrekten Daten angegeben wurden. Dürfte also ein Bug in dem create sccript sein.
In meinem Testsystem hat die installer.php natürlich funktionier, weil ich aus Bequemlichkeit den SA verwendet habe und dadurch die create - Statements trotzdem die Tabellen erstellen konnte.
lg
redseadiver28
danke für deine rasche Antwort.
hab das Problem jetzt lösen können. Auf dem Testsystem habe ich der Einfachheit halber keinen eigenen User am SQL-Server für den Zugriff auf die DB angelegt. Hab einfach den User SA verwendet. Obwohl ich beim Aufruf der installer.php eine gültige DB angegeben habe, wurde dies für die Erstellung der Tabellen nicht verwendet, sondern die default-DB des verwendeten Useres benutzt. Im Fall des SA die DB master. Ist in meine Testsystem natürlich nicht schlimm, aber doch sicher nicht sehr ideal.
Ich hab das in meinem Testsystem auch noch mal versucht, nachzuvollziehen. Wenn ich dem User, den ich angelgt habe, in den Properties als Default-DB die neu angelegte DB für die faq’s zugeteilt habe, dann hat das Erstellen der Tabellen funktioniert. Habe ich dem User als Default-DB eine andere Datenbank zugewiesen, auf die der User keine Rechte hat, erzeugte die installer.php eine error, obwohl zuvor die korrekten Daten angegeben wurden. Dürfte also ein Bug in dem create sccript sein.
In meinem Testsystem hat die installer.php natürlich funktionier, weil ich aus Bequemlichkeit den SA verwendet habe und dadurch die create - Statements trotzdem die Tabellen erstellen konnte.
lg
redseadiver28
Hi,

bye
Thorsten
Naja, wenn der User keine Rechte hat, dann gibts natürlich einen Fehler.redseadiver28 wrote:Ich hab das in meinem Testsystem auch noch mal versucht, nachzuvollziehen. Wenn ich dem User, den ich angelgt habe, in den Properties als Default-DB die neu angelegte DB für die faq’s zugeteilt habe, dann hat das Erstellen der Tabellen funktioniert. Habe ich dem User als Default-DB eine andere Datenbank zugewiesen, auf die der User keine Rechte hat, erzeugte die installer.php eine error, obwohl zuvor die korrekten Daten angegeben wurden. Dürfte also ein Bug in dem create sccript sein.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
-
- Posts: 12
- Joined: Tue Mar 14, 2006 10:36 am
Hallo Thorsten,
naja, der user hat ja Rechte auf die DB, die am Anfang der installer.php abgefragt wird. Nicht aber auf die default-DB des Users. Dass in eine völlig andere Datenbank geschrieben wird, obwohl man am Anfang bei der Abfrage der Datenbankparameter anderes angegeben hat ???
lg
Redseadiver28
naja, der user hat ja Rechte auf die DB, die am Anfang der installer.php abgefragt wird. Nicht aber auf die default-DB des Users. Dass in eine völlig andere Datenbank geschrieben wird, obwohl man am Anfang bei der Abfrage der Datenbankparameter anderes angegeben hat ???
lg
Redseadiver28
Hi,
dann schau ich mir mal den Code für MS SQL an.
Viele Grüße
Thorsten
dann schau ich mir mal den Code für MS SQL an.
Viele Grüße
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Hi,
könntest du mal in der inc/mssql.php die Funktion connect() gegen den folgenden Code austauschen?
bye
Thorsten
könntest du mal in der inc/mssql.php die Funktion connect() gegen den folgenden Code austauschen?
Code: Select all
function connect ($host, $user, $passwd, $db)
{
$this->conn = mssql_pconnect($host, $user, $passwd);
if (empty($db) OR $this->conn == false) {
print "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
print "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n";
print "<head>\n";
print " <title>phpMyFAQ Error</title>\n";
print " <meta http-equiv=\"content-type\" content=\"application/xhtml+xml; charset=utf-8\" />\n";
print "</head>\n";
print "<body>\n";
print "<p align=\"center\">The connection to the MS SQL server could not be established.</p>\n";
print "<p align=\"center\">The error message of the MS SQL server:<br />".mssql_get_last_message()."</p>\n";
print "</body>\n";
print "</html>";
return false;
}
return mssql_select_db($db, $this->conn);
}
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
-
- Posts: 12
- Joined: Tue Mar 14, 2006 10:36 am
Hallo Thorsten,
ich hab die geänderte Funktion mal gestetet. Würde sagen, jetzt funktioniert es. Hab noch mal ne Neuinstallation in ne neue DB mit den User sa gemacht und sieh da, die Tabellen sind auch wirklich in der DB, in die sie auch sollen, obwohl der user eine ganz andere Default-DB hat.
Leider hab ich noch ein anderes Problem. Wenn ich auf "Offene Fragen" klicke, bekomme ich leider immer den folgenden Error: Notice: Undefined offset: 0 in C:\Inetpub\wwwroot\statistik\support\inc\functions.php on line 1481
Woran kann dass liegen?
Noch mal besten Dank für die Behebung des DB-Bugs
lg Redseadiver28
ich hab die geänderte Funktion mal gestetet. Würde sagen, jetzt funktioniert es. Hab noch mal ne Neuinstallation in ne neue DB mit den User sa gemacht und sieh da, die Tabellen sind auch wirklich in der DB, in die sie auch sollen, obwohl der user eine ganz andere Default-DB hat.
Leider hab ich noch ein anderes Problem. Wenn ich auf "Offene Fragen" klicke, bekomme ich leider immer den folgenden Error: Notice: Undefined offset: 0 in C:\Inetpub\wwwroot\statistik\support\inc\functions.php on line 1481
Woran kann dass liegen?
Noch mal besten Dank für die Behebung des DB-Bugs
lg Redseadiver28
Hi,
so, der Bugfix für die DB ist im CVS eingecheckt und erscheint in 1.5.8, 1.6.0 RC und 2.0.0-dev.
Zum Fehler bei den offenen Fragen: Erscheint der, wenn eine Frage vorhanden ist oder wenn keine Fragen vorhanden sind...
bye
Thorsten
so, der Bugfix für die DB ist im CVS eingecheckt und erscheint in 1.5.8, 1.6.0 RC und 2.0.0-dev.
Zum Fehler bei den offenen Fragen: Erscheint der, wenn eine Frage vorhanden ist oder wenn keine Fragen vorhanden sind...
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
-
- Posts: 12
- Joined: Tue Mar 14, 2006 10:36 am
Hallo Thorsten,
der Fehler erscheint auch, wenn Fragen vorhanden sind. Du kannst es dir auch unter http://test.g-spy.com/support/ ansehen.
lg Redseadiver28
der Fehler erscheint auch, wenn Fragen vorhanden sind. Du kannst es dir auch unter http://test.g-spy.com/support/ ansehen.
lg Redseadiver28
Hi,
hm, das passiert, wenn die Kategorie, auf die die Frage verweisen soll, nicht existiert. In deinem Fall ist das der zweite Eintrag. Hier ist eher die Frage, warum dieser Eintrag die Kategorie-ID 0 hat...
bye
Thorsten
hm, das passiert, wenn die Kategorie, auf die die Frage verweisen soll, nicht existiert. In deinem Fall ist das der zweite Eintrag. Hier ist eher die Frage, warum dieser Eintrag die Kategorie-ID 0 hat...
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist