Berti: MySQL: seltsamer Fehler bei SHOW CREATE TABLE

Beitrag lesen

Hallo, ich möchte ein Backup-Skript für einen Webshop entwickeln.

Leider komme ich nicht dahinter, was ab einer best. Stelle der Tabellen-Auflistung diese Meldungen verursacht:

  
Warning: mysql\_fetch\_row(): supplied argument is not a valid MySQL  
result resource in ...  

Es geht dabei um die Anweisungen:

  
echo $sql = "SHOW CREATE TABLE `" . $aktuelle\_tabelle . "`";  
$create\_ergebnis = mysql\_query ( $sql, $verbindung\_quelldatenbank );  
  
...  
  
while ( $arr2 = mysql\_fetch\_row ( $create\_ergebnis ) )  
  

Da steht also ab einer best. Tabelle - vorher ja nicht, aber ab dann kommt die Meldung bei allen nachfolgenden Versuchen, den Generierungscode zu ermitteln - was Ungültiges drin.

Bemerkenswert also dabei: Sobald bei der ersten betroffenen Tabelle was ungültig ist, sind die folgenden auch betroffen...

Was hab ich nun für Möglichkeiten, dahinterzukommen, was da ungültig ist?

(Es geht um einen xt:Commerce, die erste betroffene Tabelle ist customers_status)

__________________________________________________________________________

<?

	    $verbindung\_quelldatenbank = mysql\_connect ( ... );  
      if ( $verbindung\_quelldatenbank == false )  
      {  
		        echo "Keine Verbindung zur Datenbank!";  
		        die ( );  
      }  
  
			$select = mysql\_select\_db ( ..., $verbindung\_quelldatenbank );  
      if ( $select == false )  
      {  
         		die ( "Datenbank kann nicht selektiert werden!" );  
      }  
	  
	  
	  
	    $verbindung\_zieldatenbank = mysql\_connect ( ... );  
      if ( $verbindung\_zieldatenbank == false )  
      {  
		        echo "Keine Verbindung zur Datenbank!";  
		        die ( );  
      }  
  
			$select = mysql\_select\_db ( ..., $verbindung\_zieldatenbank );  
      if ( $select == false )  
      {  
         		die ( "Datenbank kann nicht selektiert werden!" );  
      }  


			$tabellen = mysql\_list\_tables ( ..., $verbindung\_quelldatenbank );  

			while ( $table\_row = mysql\_fetch\_row ( $tabellen ) )  
			{  
						  
						$aktuelle\_tabelle = $table\_row [ 0 ];  
					  
						  
						$sql = "DROP TABLE " . $aktuelle\_tabelle;  
						mysql\_query ( $sql, $verbindung\_zieldatenbank );  
						  
						echo $sql = "SHOW CREATE TABLE `" . $aktuelle\_tabelle . "`";  
						  
						$create\_ergebnis = mysql\_query ( $sql, $verbindung\_quelldatenbank );  
						  
						echo "<br>";  
						  
						$z = 0;  
						  
						while ( $arr2 = mysql\_fetch\_row ( $create\_ergebnis ) )  
						{  
									$tabellen\_aufbau = trim($arr2[1]).';'."\n";  
									echo "Tabelle aufbauen...<br>";  
									mysql\_query ( $tabellen\_aufbau, $verbindung\_zieldatenbank );  
									echo $sql = "SELECT \* FROM " . $aktuelle\_tabelle;  
																		$ergebnis2 = mysql\_query ( $sql, $verbindung\_quelldatenbank );  
									while ( $arr3 = mysql\_fetch\_object ( $ergebnis2 ) )  
									{  
														$spalte\_string 	= "";  
														$value\_string 	= "";  

									  
														foreach ( $arr3 as $spalte => $value )  
														{  
															  
																		 if ( strlen ( $spalte\_string ) > 0 )  
																		 {  
																		 			$spalte\_string 	.= ", ";  
																		 }  
																		  
																		 $spalte\_string 	.= 	$spalte;  
						  
						  
																		 if ( strlen ( $value\_string ) > 0 )  
																		 {  
																		 			$value\_string 	.= ", ";  
																		 }  
						  
						  
																		 $value\_string 		.= 	"'" . addslashes ( $value ) . "'";  
															  
														}  
														  
														$sql = "INSERT INTO " . $aktuelle\_tabelle . " (" . $spalte\_string . ") VALUES (" . $value\_string . ")";  
														mysql\_query ( $sql, $verbindung\_zieldatenbank );  
								}  
																	  
						}  

						  
			}  
			  
			mysql\_close ( $verbindung\_zieldatenbank );  
			mysql\_close ( $verbindung\_quelldatenbank );  

?>

__________________________________________________________________________

ciao Berti