Problem mit Abfrage von externer Datenbank

Gesperrt
Ron
Beiträge: 3
Registriert: Mo 20. Apr 2009, 07:57
Kontaktdaten:

Problem mit Abfrage von externer Datenbank

Beitrag von Ron » Mi 29. Aug 2012, 10:17

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

xmurrix
Beiträge: 3154
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Problem mit Abfrage von externer Datenbank

Beitrag von xmurrix » Mi 29. Aug 2012, 10:51

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
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Ron
Beiträge: 3
Registriert: Mo 20. Apr 2009, 07:57
Kontaktdaten:

Re: Problem mit Abfrage von externer Datenbank

Beitrag von Ron » Mi 29. Aug 2012, 11:08

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

Gesperrt