Import/Export funktioniert nicht online

drella

Mitglied
hallo,

habe ein import/export script in php für meine datanbank.

lokal funktioniert der IMPORT einwandfei, aber online bekommen ich folgende fehlermeldung:

HTML:
query DROP TABLE 'rh_clients';
error You have an error in your SQL syntax near ''rh_clients';
' at line 1code 1064

mein importscript liest zeile für zeile eine sql datei ein. hier mal die erste zeile, wo der fehler auftritt:

HTML:
DROP TABLE `rh_clients`;

wo ist der fehler ich kann leider keinen erkennen? lokal geht es ja auch!

darf ich online kein "DROP TABLE" per script ausführen?

danke für jede hilfe
andre
 
Aus irgendeinem Grund sind wohl die Backticks bei `rh_clients` in "normale" Anführungszeichen (') umgewandelt worden.

Lass die Backticks doch einfach weg:

Code:
 DROP TABLE rh_clients;

Gruß Marian
 
hallo marian,

vielen dank. ohne semikolon und backticks geht´s. wunderbar.
aber wieso funktioniert es lokal?

grüße
andré
 
Zuletzt bearbeitet:
Kann ich nicht sagen. Dazu müsste ich wissen, was genau du machst.

Wie gibst du den Befehl "lokal" ein? Wie gibst du den Befehl auf dem Webserver ein?

Benutzt zu ein Skript (PHP?), wenn ja, wie sieht der Quellcode aus?

Fragen über Fragen ;-)
 
hallo,

hier meine import php:

PHP:
$lines = file ("backup/" . $_GET[import_version]);
  foreach ($lines as $line_num => $line) {
    //echo "<br>".$line."<br>";
    $Connection->getQuery($line);
  }

und hier meine export php:

PHP:
                $conn = @mysql_connect($dbhost, $dbuser, $dbpwd);      
	$fileName = date("Y.m.d_H.i.s");

	if (!$conn) {
		die(mysql_error());
	}
	mysql_select_db($dbname);    
	$f = fopen("backup/$fileName.sql", "w");    
	$tables = mysql_list_tables($dbname);    
	while ($cells = mysql_fetch_array($tables)) {      
	if($cells[0] == $tab1 || $cells[0] == $tab2 || $cells[0] == $tab3){
	$table = $cells[0];      
	fwrite($f,"DROP TABLE IF EXISTS $table\n");       
	$res = mysql_query("SHOW CREATE TABLE $table");      
	if ($res){        
	$create = mysql_fetch_array($res);        
	//$create[1] .= "";        
	$line = str_replace("\n", "", $create[1]);        
	fwrite($f, $line."\n"); 
	$data = mysql_query("SELECT * FROM $table");        
	$num = mysql_num_fields($data);        
	while ($row = mysql_fetch_array($data)){          
	$line = "INSERT INTO $table VALUES(";          
	for ($i=1;$i<=$num;$i++) {            
	$line .= "'".mysql_real_escape_string($row[$i-1])."', ";          
	}          
	$line = substr($line,0,-2);          
	fwrite($f, $line.")\n");        
	}
	}
	}	    
	}    
	fclose($f);

sorry, nicht eingerückt...

grüße
andré
 
Zurück