Mysql fehler warum? Finde keinen Fehler

strex

Erfahrenes Mitglied
Ich bekomm ständig den Fehler: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web1/html/otr/seg.php on line 40

Hab aber alles genau gecheckt, der MySQL Befehl funktioniert in phpmyadmin wunderbar, bloß hier nicht warum? Hat wer eine Idee...benötige dringend Hilfe...!

Danke für eure Mühe.

Grüße strex

PHP:
<?
//OTRFTPLIST to MySQL by strex
include("dbconnect.php");

//OTR-FTP
$ftp = "";
$user = '';
$pw = '';

function logg($str) {
  $pref = "[> FTP <]";
  $time = date("H:i:s");
  echo("(".$time.")".$pref." >> ".$str."\r\n");
}


@set_time_limit(0);
$verbindung = @ftp_connect($ftp);
logg("*** Verbindung zu FTP-Server ".$ftp." wird hergestellt.<br>");
$fehler=false;
if(!$verbindung) {
	logg("*** Konnte kein Verbindung zu FTP-Server herstellen.<br>");
	@ftp_quit($verbindung);
	$fehler=true;
	die();
} else {
	$login = @ftp_login($verbindung, $user, $pw);
	logg("*** Verbindung zu FTP-Server hergestellt. Anmeldung läuft.<br>");
	if(!$login) {
		logg("*** Benutzername oder Passwort falsch.<br>");
		@ftp_quit($verbindung);
		$fehler=true;
		die();
	}
}

if(!$fehler) {

     $sql = mysql_query("SELECT `otrkey`, `pfad` FROM `otrlist` WHERE `status` = '0' AND `server` = '$ftp' ORDER BY `time` DESC");
     while ($data = mysql_fetch_row($sql)) {

             $ftpsize = @ftp_size($verbindung, $data[1]);
	   
	   if($ftpsize == -1){
	   $sql = mysql_query("UPDATE `otrlist` SET `status` = '10' WHERE `otrkey` = '$data[0]'");
	   logg("*** <b>OTRKEY-STATUS</b>: $datei wurde als nicht mehr existent makiert<br>");  
	 }
	}  
   }
   
@ftp_quit($verbindung);   

?>
 
Gib doch mal [phpf]mysql_error[/phpf] aus.

Spontan würde ich vermuten, dass eine der Variablen ($ftp oder $data['0']) leer sind.
 
Manchmal hat sich MySQL echt rattig. Versuch mal dein SELECT-Statement mit nem ";" abzuschließen.

Vielleicht funktioniert es dann...
 
Danke für eure Hilfe.

Beides hat keinen Erfolg. mysql_error() gibt nichts anderes aus, als das gepostet oben und wenn ich ";" gibt es einen Fehler.

Weitere Ideen?

Grüße strex
 
Du überschreibst innerhalb der Schleife die Variable $sql, und da $sql dann ein UPDATE wird, ist das nix, womit mysql_fetch_row() etwas anfangen kann.

Lösung:
schlicht
Code:
mysql_query("UPDATE `otrlist` SET `status` = '10' WHERE `otrkey` = '$data[0]'");

...ohne das $sql=
 
PHP:
$sql = "SELECT `otrkey`, `pfad` FROM `otrlist` WHERE `status` = '0' AND `server` = '$ftp' ORDER BY `time` DESC";
print $sql;


Was kommt denn da raus?
Wenn du dann die Ausgabe in phpMyAdmin testest, passt alles?
 

Neue Beiträge

Zurück