gechger
Goto Top

PHP Schleife gesucht zur Abfrage mehrerer MySQL Datenbanken

bin mit meinen php Kenntnissen wieder an eine Grenze gestossen. Ich will in mehreren Datenbanken nach eindeutigen Daten suchen, weiss aber nicht, wie ich so eine Schleife aufbauen muß

Hallo Forum,

leider bin ich mit meinen php-Kenntnissen wieder an eine Grenze gestoßen.
Mein Ziel ist ein Abfrage durch mehrere Datenbanken durchzuführen. Zum besseren Verständnis:
für jeden Kunden existiert in meinem MySQL Server eine eigene Datenbank, darin ist auch nur eine Tabelle. In diese Datenbank laufen täglich Bewegungssätze, sie werden also wirklich täglich größer.
Für jeden Kunden gibt es eindeutige Informationen, die es nur bei ihm gibt. Nennen wirs mal Artikel-Nummer. Artikel-Nummern können nicht mehrfach vorkommen, sie sind eindeutig einem Kunden zugeordnet.
Jetzt kommt ein Artikel zur Reparatur zurück, plötzlich liegen 10 Geräte da, oder 20. Ich will jetzt schnell nachschauen können, bei welchem Kunden dieses eine bestimmte Gerät Bewegungsdaten erzeugt hat.

Ich denke an eine Schleife, die Datenbank 1 öffnet, alles nach dieser Nummer durchsucht, und wenn nichts gefunden wurde, diese Datenbank schließt, die nächste öffnet, alles durchsucht, usw., bis mir der Kunde angezeigt wird, bei dem dieses Gerät im Einsatz war.

Und da brauche ich Hilfe. Ich weiss nicht, wie ich so eine Schleife aufbauen soll. Ich habe zwar alle Zugangsdaten zu den Kunden in einer eigenen Datenbank liegen, die ich abfragen kann, aber wie stelle ich es an, bei einer Fehlabfrage die Verbindung zu trennen, automatisch die nächste Datenbank abzufragen, usw.

Hat jemand von Euch so was schon mal gemacht?

Jeder Tip bringt mich weiter.

Vielen Dank für jede Idee.
Schöne Grüße
Christof

Content-Key: 102315

Url: https://administrator.de/contentid/102315

Printed on: April 19, 2024 at 11:04 o'clock

Member: ITLocke
ITLocke Nov 21, 2008 at 06:36:02 (UTC)
Goto Top
Guten Morgen,

mal abgesehen davon, dass du anstelle pro Kunde gleich eine neue Datenbank anzulegen, lieber eine neue Tabelle hättest nehmen sollen,

gibt es in PHP den Befehl mysql_select_db("deine_Datenbank").
Dieser macht aber nur Sinn, wenn du einen Benutzer hast, der auf alle Datenbanken zugreifen kann.

Mit mysql_list_dbs() bekommst du die Liste deiner Datenbanken.

Die genaue Befehssyntax kannst du unter

Manual mit der Suchfunktion oben rechts nachlesen.

Gruß und viel Erfolg

Locke
Member: gechger
gechger Nov 21, 2008 at 10:58:10 (UTC)
Goto Top
Guten Morgen Locke,
daß mit den Tabellen in einer Datenbank geht aus Sicherheitsgründen nicht. Die Zugangsdaten zur Datenbank müssen dem Kunden bekannt sein. Er hätte dann aber Zugriff auf alle anderen Kundentabellen in dieser Datenbank. So hat jeder seine eigene Datenbank mit eigenen Zugängen.

In einer eigenen Datenbank habe ich sämtliche Zugangsdaten hinterlegt. Da habe ich auch schon ein Script, um diese schnell auszulsen, wenn ich die Daten brauche. In weiteren Abfragescripts benutze ich meine Kundentabelle auch regelmäßig.

Jetzt brauche ich nur Starthilfe bei der Schleife. Meine Idee ist, alle Einträge meiner Kundendatenbank in ein Array zu schreiben. Eine Schleife soll den ersten Eintrag auslesen, sich mit dieser Datenbank verbinden, die Inhalte nach den Suchbegriffen durchsuchen, die Verbindung trennen, dann den nächsten Array Eintrag auslesen, sich mit der zweiten Datenbank verbinden, durchsuchen, usw. Zum Schluß will ich ausgegeben haben, in welcher Datenbank mein Suchbegriff gefunden worden ist.
Hört sich erstmal einfach an, aber wie baue ich so eine Schleife auf?

Schöne Grüße
Christof
Member: ITLocke
ITLocke Nov 22, 2008 at 10:17:18 (UTC)
Goto Top
Hallo Christof,

so schwer ist das auch nicht.

 
<?php

//ArtikelID dem Script übergeben 
->$ArtikelID = GET/POST/SESSION...<-

// Zugangsdaten besorgen und in ein Array speichern
$db_connect = mysql_connect(->DB_Zugangsdaten<-);
$sql_string = "SELECT * FROM Tbl_Zugangsdaten";  
$erg = mysql_query($sql_string);
while($temp = mysql_fetch_oject($erg))
  $Array_Zugangsdaten = $temp;

// Speicher freigeben und Verbindung beenden
mysql_free_result();
mysql_close($db_connect);

// Hauptschleife
foreach($Array_Zugangsdaten AS $key => $Zugangsdatensatz)
{
  $db_connect = mysql_connect(->$Zugangsdatensatz->DB_Name/User/Pw<-);
  $sql_string = "SELECT * FROM ".$Zugangsdatensatz->Tbl_name." WHERE ArtikelID = ".$ArtikelID;  
  $erg = mysql_query($sql_string);
  while($temp = mysql_fetch_object($erg))
    $Array_Ergebnis = $temp;
  mysql_free_result();
  mysql_close($db_connect);
}
//Ausgabe des Ergebnisarrays oder Weiterverarbeitung
var_dump("<pre>", $ArrayErgebnis, "</pre>");  
?>

Das sollte es im Groben schon sein.
Das, was in -><- steht, muß natürlich noch angepasst werden.
Das Script ist also nicht funktionsfähig, so, wie es hier steht!

Falls evtl Fehler im Script sind, oder jemand Verbesserungsvorschläge hat, ich bin für konstruktive Kritik gern zu haben...

So dann noch ein schönes Wochenende

Gruß

Locke
Member: gechger
gechger Nov 22, 2008 at 13:41:21 (UTC)
Goto Top
Grüß Dich Locke,

wenn ich das jetzt richtig verstehe, sorgt die foreach Schleife dafür, daß die verschiedenen Datenbanken durchlaufen werden, jeweils der sql-String benutzt wird und in der while Schleife ergfolgt die Ausgabe in ein Array.

Das probier ich gleich mal aus.
Vielen vielen Dank vorerst

Schöne Grüße
Christof
Member: Guenni
Guenni Nov 24, 2008 at 01:09:45 (UTC)
Goto Top
Hi gechger,

die Zugangsdaten sind eigentlich nicht relevant, es sei denn, du hättest den
Administrator, der ja Zugriff auf alle Datenbanken haben sollte, aus den DB's ausgesperrt.

Das folg. Script stellt ein Formular dar, in dem ein Spaltenname und ein Suchbegriff
eingegeben werden.

Nach Senden des Formulars werden die entsprechenden Spaltennamen jeder Tabelle
in jeder Datenbank nach dem Suchbefriff "abgeklappert" und die Ergebnisse aufgelistet.

<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="multi-db-abfrage.php" method="post">  
Spalte <input type="text" name="spaltenname" />  
Suchbegriff <input type="text" name="ausdruck" />  
<input type="submit" name="cmd" value="Suche" />  
</form>
<?
$cmd=$_POST['cmd'];  
if($cmd){
$conn=mysql_connect("localhost","admin_name","admin_passwort");  
/*
Datenbanknamen in einer Variablen ablegen
*/
$db_list = mysql_list_dbs();
$i=0;
/*
Anzahl Datenbanknamen in einer Variablen ablegen
*/
$count = mysql_num_rows($db_list);
/*
Nacheinander den Datenbanknamen extrahieren ...
*/
while ($i < $count) {
 $dbs=mysql_db_name($db_list,$i);
 /*
 ... alle Tabellen der Datenbank in einer Variablen ablegen ...
 */
 $table_list=mysql_list_tables($dbs);
 if(!mysql_num_rows($table_list)){
  echo "DB: $dbs<br>";  
  echo "Keine Tabellen in Datenbank $dbs";  
	echo "<hr>";  
 }else{
 			 echo "DB: $dbs<br>";  
			 /*
			 ... Datenbank auswählen ...
			 */
			  $db_open=mysql_select_db($dbs);
				/*
				... Tabellen aus der Variablen extrahieren ... 
				*/
 			  while ($table=mysql_fetch_row($table_list)) {
				 /*
				 ... Suchausdruck aus Formular in Variablen ablegen ...
				 */
				 $spalte=$_POST['spaltenname'];  
				 $ausdruck=$_POST['ausdruck'];  
				 echo "Inhalt Tabelle $table - Suche in Spalte $spalte nach $ausdruck:<br><br>";  
				 /*
				 ... Tabellen abfragen und Ergebnis ausgeben.
				 */
				 $query="select * from ".$table." where $spalte='$ausdruck'";  
				 $result=mysql_query($query);
				 if(!$result) continue;
				 while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
				  if($row) echo "<font color='red'>";  
				  echo implode(" ",$row)."<br><br>";  
					echo "<font color='black'>";  
				 }
			  }
				echo "<hr>";  
 			 }
 $i++;
}
}
?>
</body>
</html>

Gruß
Günni
Member: gechger
gechger Nov 24, 2008 at 09:42:39 (UTC)
Goto Top
Hallo Günni,

das sieht schon vielversprechend aus. Das mit dem Admin muß ich erst mal checken. Die Datenbanken liegen auf einem Webserver bei Strato. Für eine Datenbank dort bedeutet das, daß immer ein eigener Benutzer mit eigenem Kennwort angelegt wird. Z.Bsp Datenbank db00012345 bekommt automatisch den User dbo00012345. Ob der Hauptadmin, mit dem ich die Datenbanken anlege, auch dort rein darf, weiss ich noch nicht.
Ein erster Test, den ich gerade gemacht habe, schlug fehl.

Aber erst mal vielen Dank für Deinen Ansatz. Damit komme ich schon sehr viel weiter.

Schöne Grüße
Christof
Member: gechger
gechger Nov 25, 2008 at 14:44:19 (UTC)
Goto Top
Hallo Günni

mit Deinen Ansätzen bin ich schon etwas weitergekommen. Zunächst mal das Script, wie ich es bisher angepasst habe

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>
<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">  
		<title>In Datenbanken suchen</title>
<meta name="xxxxxx XXXXXX" content="xxxxx">  
<meta content="XXXXX GmbH" name="GENERATOR">  
</head>

<body bgcolor="#D3D3D3">  
		<font color="#291455"><font face="Verdana", "Arial">  
		<img src="head.jpg" alt="" height="92" width="885" border="0" livesrc="grafik/head.jpg">  

<form method="post">  
 <table>
 <tr>
 <td>Mobilmaster suchen</td>
 <td><input type="text" name="mm" /></td>  
 </tr>
 <tr>
 <td>Timeboy suchen</td>
 <td><input type="text" name="tm" /></td>  
 </tr>
 <tr>
 <td colspan="2"><input type="submit" name="suchen" value="Abschicken" /></td>  
 </tr>
 </table>
 </form>


<?php

error_reporting(E_ALL); #zeig alle Fehler
ini_set('display_errors', '1'); #sorgt dafür, dass überhaupt Fehler angezeigt werden  

$mm_id=$_POST["mm"];  
$tm_id=$_POST["tm"];  

//Kundendaten auslesen und in Array schreiben

  $host = "XXXXXXX.XXXXXXX.XXX";  
  $user = "dboxxxxxxx";  
  $kennwort = "xxxxxxxxxxxxxxx";  
  $dbname = "dbxxxxxxxxx";  
  $tabelle ="kddaten";  
  $i=0;
  
	$cldb = mysql_connect($host, $user, $kennwort); // or die(mysql_error());
	mysql_select_db($dbname);
	$sql=("select * from kddaten order by name");  
	$abfrage = mysql_db_query($dbname,$sql);	
	$kdarray=mysql_fetch_array($abfrage);
	

$count=count($kdarray);


while ($i < $count) {
	
	$dbopen=mysql_connect($host, "$kdarray[anmeldung]", "$kdarray[kennwort]",$i);   
	mysql_select_db("$kdarray[dbname]");  
	$query=("select * from '$kdarray[tabelle]' where werte like '%blog=$mm_id%' or werte like '%ster=$tm_id%'");  
	$result=mysql_query($query);
	?>
	<font color="#291455">  
	<table rules=row>
	<?
  while($array = mysql_fetch_array($result)){
  ?>
				<tr>
					<td><?= $array[werte]; ?></td>
				</tr>
				<?
  } // ENDE while($array = mysql_fetch_array($abfrage)){
  ?>
  </table>
  <?
				
			 
 $i++; 
 echo "$kdarray[id]","<br>","$kdarray[name]","<br>","$kdarray[anmeldung]","<br>","$kdarray[dbname]","<br>","$kdarray[kennwort]","<br>","$kdarray[tabelle]","<br>";  
 echo "count=$count","<br>";  
 echo "dbzugang=$dbopen","<br>";  
 echo "i=$i","<br>";  
 echo "query=$query","<br>";  
}


?>
 </body>
 </html>

Ich bekomme nun eine Fehlermeldung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pages/be/0e/d0006174/home/htdocs/php/datensuchen.php on line 68 

Welches dies ist:

while($array = mysql_fetch_array($result)){

und ich weiss nicht warum. Außerdem gibt mir meine ECHO immer nur den selben Kunden aus dem Array aus:

16
Axxxxx
dbo000xxxxx
db000xxxxx
axxxxxxxxxxxx
axxxxx
count=14
dbzugang=Resource id #4
i=2
query=select * from 'axxxxx' where werte like '%blog=1336%' or werte like '%ster=%'  

der dbzugang und die VAriable i werden sauber hochgezählt, $count gibt mir auch sauber die 14x Einträge wieder, die Kundendaten aktualisieren sich aber nicht.

Hier könnte ich noch ein paar Tipps gebrauchen.

Schöne Grüße
Christof
Member: Guenni
Guenni Nov 26, 2008 at 20:14:43 (UTC)
Goto Top
Hi gechger,

zu deiner Kundenabfrage:
Mit . . .
<?php
$sql=("select * from kddaten order by name");  
$abfrage = mysql_db_query($dbname,$sql); 
$kdarray=mysql_fetch_array($abfrage);
?>
. . . hast du genau einen Datensatz in $kdarray gespeichert.
Deshalb auch: Außerdem gibt mir meine ECHO immer nur den selben Kunden aus dem Array aus

Die Daten solltest du auch in einer Schleife abfragen und speichern:
<?php
$i=0;
while($row=mysql_fetch_array($abfrage,MYSQL_ASSOC)){
 $kunden_array[$i][anmeldung]=$row['kennwort'];  
 $kunden_array[$i][passwort]=$row['passwort'];  
 $i++;
}
?>

Zur Anmeldung und Auswahl der Tabelle:

Da der Username dem Datenbanknamen entspricht und man mit Funktionen die Namen
der Tabellen abfragen kann, sind weitere Spalten wie $kdarray[tabelle], $kdarray[dbname]
usw. doch eigentlich unnötig.

Im folg. Script hab ich das Kunden-Array "von Hand" angelegt.
<?php>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="multi-user-db-abfrage.php" method="post">  
Spalte <input type="text" name="spaltenname" />  
Suchbegriff <input type="text" name="ausdruck" />  
<input type="submit" name="cmd" value="Suche" />  
</form>
<?
/*
**********************************
Kundenarray aus Datenbank füllen
**********************************
Das Array hab ich jetzt mal erstellt
*/
$kunden_array=array("kunde" => "kennwort","pass" => "passwort");  
$kunden_array[1]=array("kunde" => "kennwort","pass" => "passwort");  
$cmd=$_POST['cmd'];  
if($cmd){
 $i=0;
 $count=count($kunden_array);
 while ($i < $count) {
  //Verbindung herstellen, Kundenname = Datenbankname ...
  $conn=mysql_connect("localhost",$kunden_array[$i][kunde],$kunden_array[$i][pass]);  
  $db=mysql_select_db($kunden_array[$i][kunde]);
  /*
  ... alle Tabellen der Datenbank in einer Variablen ablegen ...
  */
  $table_list=mysql_list_tables($kunden_array[$i][kunde]);
  if(!mysql_num_rows($table_list)){
   echo "DB: ".$kunden_array[$i][kunde]."<br><br>";  
   echo "Keine Tabellen in Datenbank ".$kunden_array[$i][kunde];  
	 echo "<hr>";  
  }else{
 			  echo "DB: ".$kunden_array[$i][kunde]."<br><br>";  
			  while ($table=mysql_fetch_row($table_list)) {
				 /*
				 ... Suchausdruck aus Formular in Variablen ablegen ...
				 */
				 $spalte=$_POST['spaltenname'];  
				 $ausdruck=$_POST['ausdruck'];  
				 echo "Inhalt Tabelle $table - Suche in Spalte $spalte nach $ausdruck:<br><br>";  
				 /*
				 ... Tabellen abfragen und Ergebnis ausgeben.
				 */
				 $query="select * from ".$table." where $spalte='$ausdruck'";  
				 $result=mysql_query($query);
				 if(!$result) continue;
				 while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
				  if($row) echo "<font color='red'>";  
				  echo implode(" ",$row)."<br><br>";  
					echo "<font color='black'>";  
				 }
			  }
				mysql_close($conn);
				echo "<hr>";  
 			 }
  $i++;
 }
}
?>
</body>
</html>
?>

Gruß
Günni
Member: gechger
gechger Nov 27, 2008 at 11:36:55 (UTC)
Goto Top
Hallo Günni,

vielen Dank erstmal für Deine Bemühung.

habe Schritt für Schritt das Script neu aufgebaut und getestet, und auch festgestellt, daß das Kundenarray nicht gefüllt wurde. Mein Ansatz sieht jetzt so aus:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">  
<title>In Datenbanken suchen</title>
<meta name="Christof Gersky" content="MobilZeit GmbH">  
<meta content="MobilZeit GmbH" name="GENERATOR">  
</head>

<body bgcolor="#D3D3D3">  
<font color="#291455"><font face="Verdana", "Arial">  
<img src="head.jpg" alt="" height="92" width="885" border="0" livesrc="grafik/head.jpg">  

<form method="post">  
 <table>
 <tr>
 <td>Mobilmaster suchen</td>
 <td><input type="text" name="mm"value="00000" /></td>  
 </tr>
 <tr>
 <td>Timeboy suchen</td>
 <td><input type="text" name="tm" value="00000"/></td>  
 </tr>
 <tr>
 <td colspan="2"><input type="submit" name="suchen" value="Abschicken" /></td>  
 </tr>
 </table>
 </form>

<?php

//error_reporting(E_ALL); #zeig alle Fehler
//ini_set('display_errors', '1'); #sorgt dafür, dass überhaupt Fehler angezeigt werden 

$mm_id=$_POST["mm"];  
$tm_id=$_POST["tm"];  

//Kundendaten auslesen und in Array schreiben

  $host = "hxxx.xxx.net";  
  $user = "dboxxxxxx";  
  $kennwort = "xxxxxx";  
  $dbname = "dbxxxxxxx";  
  $tabelle ="kddaten";  
   
	$dbconnect = mysql_connect($host, $user, $kennwort); // or die(mysql_error());
	mysql_select_db($dbname);
	$sql=("SELECT * FROM kddaten");  
	$abfrage = mysql_query($sql);	

//Kundendaten ins Array schreiben
 while($temp=mysql_fetch_assoc($abfrage)){
	$kdarray = $temp;
  		
	}

//Leeren des Speichers
	mysql_free_result($temp);
	mysql_close($db_connect);		
 
//Durchläuft das Kundenarray, verbindet sich mit der entsprechenden Datenbank und sucht nach den Begriffen 	
  foreach($kdarray as $key => $kdanmeldung){
  	$dbconnect=mysql_connect($host, $kdanmeldung[anmeldung], $kdanmeldung[kennwort]);
 	$sql1=("select werte from $kdanmeldung[tabelle] where werte like '%blog=$mm_id%' or werte like '%ster=$tm_id%'");  
 	$result=mysql_query($sql1);
 	while($temp=mysql_fetch_assoc($result)){
 	$ausgabe=$temp;
 		}
                      mysql_free_result($temp);
  	mysql_close($db_connect);	
  		}
  	
//Ausgabe der Informationen
  	echo "<pre>";  
  	print_r ($kdarray);
  	echo "</pre>";  
  	
  	echo "<pre>";  
  	print_r ($ausgabe);
  	echo "</pre>";  
		
mysql_close;  	
	
?>
 </body>
 </html>


Ich bekomme so schon Ausgaben, die wertvoll sind. Aber ich bekomme auch Warnmeldungen, die ich nicht verstehe:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /pages/be/0e/d0006174/home/htdocs/php/datensuchen.php on line 64

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /pages/be/0e/d0006174/home/htdocs/php/datensuchen.php on line 67

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /pages/be/0e/d0006174/home/htdocs/php/datensuchen.php on line 68

Trotzdem erhalte ich Ergebnisse. Allerdings noch nicht so, wie ich sie eigentlich bräuchte. Ich will nämlich noch wissen, in welcher Datenbank die gesuchte Information gefunden wird. Zur Zeit bekomme ich zwar den gesuchten Begriff ausgegeben,

Array
(
    [werte] => Array
        (
            [werte] => 2008-11-27_08:09:38	table=SE	sTYP=AN	sTER=5555 	sDAT=2008-11-27_08:09:17	sPER=0004392537941	sPRO=12163	sEIN=	sTAT=	sLBS=	sFIN=	sBER=	sSTA=	sAUF=	sZON=	

        )

)

aber ich erkenne nicht, aus welcher Datenbank er kommt.
GIbt es dafür auch einen Ansatz?

Schöne Grüße
Christof
Member: gechger
gechger Nov 28, 2008 at 14:00:06 (UTC)
Goto Top
Hallo Forum,

vielen Dank an Locke und Günni, die mir bei der Lösung meiner Aufgabe wirklich gut geholfen haben.
Dies nun ist mein Script, welches mir die gewünschten Informationen liefert:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>
<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">  
		<title>In Datenbanken suchen</title>
<meta name="Christof Gersky" content="X GmbH">  
<meta content="X GmbH" name="GENERATOR">  
</head>

<body bgcolor="#D3D3D3">  
		<font color="#291455"><font face="Verdana", "Arial">  
		<img src="head.jpg" alt="" height="92" width="885" border="0" livesrc="grafik/head.jpg">  


<form action="datensuchen.php" method="post">  
 <table>
 <tr>
 <td>Mobilmaster suchen</td>
 <td><input type="text" name="mm"  size = "4" /></td>  
 </tr>
 <tr>
 <td>Timeboy suchen</td>
 <td><input type="text" name="tm"  size = "4"/></td>  
 </tr>
 <tr>
 <td colspan="2"><input type="submit" name="suchen" value="Abschicken" /></td>  
 </tr>
 </table>
 </form>
<?php

//error_reporting(E_ALL); #zeig alle Fehler
//ini_set('display_errors', '1'); #sorgt dafür, dass überhaupt Fehler angezeigt werden 

//Zugangsdaten zur Datenbank, in der meine Kundedaten stehen 

 $host = "hxxxxx.xxxxx.net";  
  $user = "dboxxxxx";  
  $kennwort = "xxxxx";  
  $dbname = "dbxxxxx";  
  $tabelle ="kddaten";  
   
//Verbindung zu miner Kundetabelle herstellen	

                    $dbconnect = mysql_connect($host, $user, $kennwort); // or die(mysql_error());
	mysql_select_db($dbname);
	$sql="SELECT * FROM kddaten order by 'name' ";  
	$result = mysql_query($sql) ; 	

//Schreiben aller Kunden-Zugangsdaten in ein Array

	while($temp=mysql_fetch_assoc($result)){
		$kdarray=$temp;
		}
	 mysql_close($dbconnect);

//Prüfen, ob überhaupt etwas eingegeben wurde

if(isset($mm_id) || isset($tm_id)){ 

//Schleife, die aus dem Kunden-Array die Zugangsdaten holt und sich nacheinander in die Datenbanken einwählt
 
 foreach($kdarray as $key => $kunden_array) {

 $conn=mysql_connect($host, $kunden_array[anmeldung], $kunden_array[kennwort]);
 $db=mysql_select_db($kunden_array[dbname]);
 
	$mm_id=$_POST["mm"];  
	$tm_id=$_POST["tm"];  
	
 if(empty($tm_id)){				 
	 $query="select werte from $kunden_array[tabelle] where werte like '%blog=$mm_id%' ";  
	 }
	 if(empty($mm_id)){
	 $query="select werte from $kunden_array[tabelle] where werte like '%ster=$tm_id%' ";  
	 }		 
	 $result=mysql_query($query);
	 $row=mysql_fetch_assoc($result);
	
//Wenn einer der beiden Suchbegriffe gefunden wurde, wird der entsprechende Kundenname ausgegeben

if(!$row) continue;{
	if(empty($tm_id)){		
echo "MM: $mm_id war im Einsatz bei $kunden_array[name]<br><br>";  
	}
	elseif(empty($mm_id)){
echo "TM:$tm_id war im Einsatz bei $kunden_array[name]<br><br>";  
	}		
	}
	}	
				
				mysql_close($conn);
				echo "<hr>";  
}
?>
</body>

</html>

Meine Ausgabe sieht dann so aus:

MM: 1497 war im Einsatz bei XXX

Nochmal vielen lieben Dank für Eure Hilfe
Schöne Grüße
Christof