Seite 1 von 1

Problem mit Abfrage von externer Datenbank

Verfasst: Mi 29. Aug 2012, 10:17
von Ron
Hi,

vielleicht könnt ihr mir helfen.

Ich versuche aus einem Modul heraus Daten aus einer externen Datenbank abzurufen, aber immer wenn ich das mache, wechselt er scheinbar die komplette Datenbankverbindung, wodurch nach der Abfrage der Rest der Seite nicht mehr funktioniert.

Ich habe hier im Forum schon nach ähnlichen Problemen gesucht und aus einer Antwort heraus dann schon versucht die Verbindung als extended Class von DB_Contenido anzusteuern, aber auch das hatte nicht funktioniert.

Hier die Funktion, die für die Abfrage zuständig ist:

Code: Alles auswählen

private function updateOrderStatus($orderNo, $status, $prodDate = 0) {
		$myHost = "000.000.000.000";
		$myDB = "testdb";
		$myUser = "root";
		$myPass = "testpass";

		//DB Connection aufbauen
		$dbhandle = mysql_connect($myHost, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myHost");
		$selected = mysql_select_db($myDB, $dbhandle) or die("Couldn't open database $myDB");

		//Aufträge einlesen
		$actStatus = 0;
		$actProdDate = 0;
		$flagOrderExist = false;
		$return = false;
		$prodDate = $prodDate." 00:00:00";

		$queryOrderStatus = mysql_query("SELECT status, proddate FROM dev_orderlist WHERE orderno = '".$orderNo."'");
		while($row = mysql_fetch_assoc($queryOrderStatus)) {
			if ($row["status"] != "") {
				$flagOrderExist = true;
				$actStatus = $row["status"];
				if ($row["proddate"] != "") $actProdDate = $row["proddate"];
			}
		}
		mysql_free_result($queryOrderStatus);

		if ($flagOrderExist && ($actStatus != $status || $actProdDate != $prodDate)) {
			$updateOrderStatus = mysql_query("UPDATE dev_orderlist SET status=".$status.", proddate = '".$prodDate."' WHERE orderno = '".$orderNo."'");
			$queryRes = mysql_query($updateOrderStatus);
			if ($queryRes) {
				$return = true;
			} else {
				$return = false;
			}
		} else {
			$return = false;
		}

		//DB Connection schließen
		mysql_close($dbhandle);

		return $return;
  }
Was kann das sein?

Vielen Dank schonmal, Ron

Re: Problem mit Abfrage von externer Datenbank

Verfasst: Mi 29. Aug 2012, 10:51
von xmurrix
Hallo Ron,

willkommen im CONTENIDO Forum.

Zu deinem Problem:
Falls die DB-Verbindungsparameter, die du in mysql_connect() verwendest, die gleichen Parameter (Host, User, Password) wie die der CONTENIDO Datenbank sind, kann es schon dazu kommen, dass der MySQL Server die aktive DB ändert.

Wenn das so ist, dann solltest du vor mysql_close($dbhandle); einfach mysql_select_db($contenidoDbName) aufrufen, um wieder zur CONTENIDO-DB zu wechseln.

Gruß
xmurrix

Re: Problem mit Abfrage von externer Datenbank

Verfasst: Mi 29. Aug 2012, 11:08
von Ron
Hi xmurrix,

danke für die schnelle Antwort!
Das war natürlich die Lösung, da ich es derzeit noch auf dem gleichen Testserver probiere.

Ich danke dir recht herzlich!

Viele Grüße, Ron