Problem mit mysql-connect

Begonnen von Rettungsdackel, 01 September 2005, 07:21:11

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Rettungsdackel

Guten Morgen,

nach einer durchbastelten Nacht komme ich nun absolut nicht weiter.
Wenn ich in einer Seite eine Datenbankabfrage einfüge, werden links die Blöcke nur leer dargestellt, und die rechten Blöcke werden ganz unterschlagen, obwohl sie in der index-datei angewiesen sind($GLOBALS["index"] = 1;). Das Abfrageergebnis wird allerdings richtig angezeigt.

Soweit ich das jetzt versucht hab, hängt das wohl mit dem Connect an sich zusammen.
Der Fehler taucht auf, sobald diese Zeilen aufgerufen werden:

$dblink=MYSQL_CONNECT($host, $user, $passwort) OR DIE("Unable to connect to database");
   
      @mysql_select_db("$dbase", $dblink) or die( "Unable to select database");

Irgendwie scheint dieser Connect-Befehl nen Konflikt mit dem Script zu erzeugen.
Den Rest nach diesen Zeilen kann ich kommentieren bzw löschen, der Fehler bleibt.

Kann mir da jemand weiterhelfen?

Ach ja, noch was...

Ich hab in einer Seite nen html-Schnippsel drin für einen 60sec-Seitenrefresh. Nun refresht aber nicht nur die aufgerufene Seite, sondern das ganze Portal. Kenn da wer Abhilfe?

Gruß Dackel

pragmaMx 0.1.11 / SMF 1.1.9 / PHP 5.2.6 / MySQL 5.0.32 / Apache 2.2

jubilee

Hallo !
Wo wurde das eingefügt (Beispiel) ?
Was läuft auf der Seite ?
ZitatDer Fehler taucht auf, sobald diese Zeilen aufgerufen werden:
Verbindest Du zu einer anderen Datenbank ?
Hast Du in diesem Fall daran gedacht die verbindung anschließend wieder zu trennen ?
Sonst werden evt. alle nachfolgenden Abfragen in der fremden Datenbank durchgeführt. Da diese die benötigten Info's nicht hat, kann natürlich auch nix angezeigt werden.
MfG
jubilee




Rettungsdackel

Hallo,

also, neuer Ordner unter modules. In dem Ordner liegt ne index.php mit folgendem Inhalt:
Zitatif (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

$GLOBALS["index"] = 1; // Blöcke rechte Seite, 0 = Nein, 1 = Ja

include("header.php");

<?php
include('datacon.php'); // Connectdaten holen

$anfrage="SELECT date_format(datum,'%d.%m.%Y'), name, betrag FROM spende ORDER BY ID DESC;";

$ergebnis=mysql_query($anfrage) or die ("Fehlermeldung=".mysql_error());

echo mysql_num_rows($ergebnis)." Einträge<P> ";
echo "&lt;TABLE border='1' width='50%' align='center'&gt;";
for ($i=0;&lt;mysql_num_fields($ergebnis);$i++);


while ($zeile=mysql_fetch_row($ergebnis))

{echo  "&lt;TR&gt;";
for ($i=0;$i&lt;mysql_num_fields($ergebnis);$i++) {echo
"&lt;TD&gt;".$zeile[$i]."&lt;/TD&gt;";};
echo "&lt;/TR&gt;"; };

mysql_free_result($ergebnis);
?&gt;

include("footer.php");





Verbunden wird zu localhost
Die Suchergebnisse werden auch angezeigt, aber eben die Blöcke rechts und links nicht mehr dargestellt.
pragmaMx 0.1.11 / SMF 1.1.9 / PHP 5.2.6 / MySQL 5.0.32 / Apache 2.2

jubilee

Also, fass ich mal zusammen.
Meine Fragen kann ich ja gerade so aus Deinen Angaben beantworten.
Du verbindest zu einer anderen Datenbank als zu der Deines Portales.
Du machst kein mysql_close
Du gibts bei den Queries zu der regulären Datenbank keinen Resurce-identifier an.
---> Wahrscheinlich laufen die Queries zur Portal-datenbank zu der anderen Datenbank

Jetzt das was ich noch nicht weiss :
Welches Portal verwendets Du.
Hast du wegen der Blöcke einmal anstatt $GLOBALS['index']=1  $index=1 versucht ?

MfG
jubilee

Rettungsdackel

Hallo,

das mit dem $GLOBALS ["$index=1"]; hab ich mal versucht....erstmal keine Veränderung.

Aber das mit der Datenbank klingt einleuchtend. localhost ist ja der Host und nicht die DB.
In der Tat ist es so, das die Abfragen an verschiedene DBs gehen.
mysql_close hab ich schon mal mit eingebaut.
Ich hab mich bisher noch nicht so großartig mit mySQL befasst, werde aber mal Google zum Thema "Resurce-identifier" etwas quälen.

Verwendet wird pragmaMx 0.1.6

Werd mich nochmal melden wenns nicht klappt 

Naturlich auch, wenns klappt ;)

Erstmal Danke  :thumbup:

pragmaMx 0.1.11 / SMF 1.1.9 / PHP 5.2.6 / MySQL 5.0.32 / Apache 2.2

jubilee

Hallo !
Zitatdas mit dem $GLOBALS ["$index=1"]; hab ich mal versucht....erstmal keine Veränderung.
Nein, nein. Falscher fehler :
nicht
$GLOBALS ["$index=1"];
sondern
$index=1;
und zwar in jeder index.php jedes modules, welches die rechten Blöcke anzeigen soll.
Bei vielen Modulen geht das aber auch im Admin-Menü einzustellen.
Die $GLOBALS ["index"]=0;
ist nur, wie es in der index.php (Portalroot) steht
Zitat// nur zum initialisieren der Variablen, wird durch das Modul überschrieben

Mfg
jubilee

Rettungsdackel

Ich krieg noch die Motten  :-\

Hab in der Index das $GLOBALS ["$index=1"]; gegen $index=1; ersetzt.

Der Rest vom Script sieht jetzt so aus:
Zitat
include('datacon.php'); // Connectdaten holen

$resource = mysql_connect($host, $user, $pass) OR DIE("Unable to connect to database");

     
mysql_select_db($dbase, $resource) or die( "Unable to select database");


$anfrage = ("SELECT date_format(datum,'%d.%m.%Y'), name, betrag FROM spende ORDER BY ID DESC");

$ergebnis = mysql_query($anfrage, $resource) or die ("Fehlermeldung=".mysql_error());

echo mysql_num_rows($ergebnis)." Einträge<P> ";
echo "&lt;TABLE border='1' width='50%' align='center'&gt;";
for ($i=0;$i&lt;mysql_num_fields($ergebnis);$i++);


while ($zeile=mysql_fetch_row($ergebnis))

{echo  "&lt;TR&gt;";
for ($i=0;$i&lt;mysql_num_fields($ergebnis);$i++) {echo
"&lt;TD&gt;".$zeile[$i]."&lt;/TD&gt;";};
echo "&lt;/TR&gt;"; };

mysql_free_result($ergebnis);

mysql_close($resource);

Immer noch verschwinden rechts und links die Blöcke, sobald die 3. Zeile dabei ist.
Ausgelesen und angezeigt werden die Daten.

Die DB nennt sich Spende, enthält die Tabelle "spende" und liegt wie die Portal-DB auf localhost.

:-[
pragmaMx 0.1.11 / SMF 1.1.9 / PHP 5.2.6 / MySQL 5.0.32 / Apache 2.2

Rettungsdackel

So, Problem gelöst.

Beim Hostname 'localhost' gegen '127.0.0.1' ersetzt und schon gehts 1A.

Trotzdem Danke für die Hilfe
pragmaMx 0.1.11 / SMF 1.1.9 / PHP 5.2.6 / MySQL 5.0.32 / Apache 2.2