[MySQL] Ich find den Fehler nicht

mr.VVoo

PUNKT.
ID: 96656
L
4 Mai 2006
140
0
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3
INSERT INTO chs_daten (dname,dend,vname,type,content,hashcontent,size,time,ip) VALUES ('spruch','TXT','spruch.txt','text/plain','Man sieht jeden Tag 300 Typen. 250 kann man so gut wie vergessen. Von den ander 50 sind 40 Machos. Von 10 sind 8 vergeben. Von 2 ist einer schwul. Und der letzte verarscht dich.','16a521f4d90138dd0fa248d9ad3fbd96',177,1147036885,'127.0.0.1')
In der Tabelle sind noch 2 weitere Felder: user und desc
PHP:
$SQL = "INSERT INTO chs_daten (dname,dend,vname,type,content,hashcontent,size,time,ip) VALUES ('$dateiname','$dateiendung','".$_FILES[file][name]."','".$_FILES[file][type]."','".addslashes($daten)."','".$md5daten."',".$_FILES[file][size].",".time().",'".$REMOTE_ADDR."')";
mysql_query($SQL);
Wo liegt da der Fehler?
 
mr.VVoo schrieb:
PHP:
$SQL = "INSERT INTO chs_daten (dname,dend,vname,type,content,hashcontent,size,time,ip) VALUES ('$dateiname','$dateiendung','".$_FILES[file][name]."','".$_FILES[file][type]."','".addslashes($daten)."','".$md5daten."',".$_FILES[file][size].",".time().",'".$REMOTE_ADDR."')";
mysql_query($SQL);
Wo liegt da der Fehler?
*ggg..., ich werte das als scherz

aber da ich mir nich sicher bin 8O (zwecks scherz ^^)

probier mal:
PHP:
$SQL = "INSERT INTO chs_daten (dname,dend,vname,type,content,hashcontent,size,time,ip) VALUES ('".$dateiname."','".$dateiendung."','".$_FILES[file][name]."','".$_FILES[file][type]."',
'".addslashes($daten)."','".$md5daten."','".$_FILES[file][size]."','".time()."','".$REMOTE_ADDR."')";
mysql_query($SQL);
 
meinst du die 'x' um den timestamp? das kann net funzen, denn der timestamp time ist ein integer ;)
Das dumme ist ja die Abfrage wurde ja vorher verwendet und funktioniert jetzt nicht mehr, aber eigentlich hab ich am sqlcode selbst nix geändert!
PHP:
<?php
echo $LOGIN." - ".$umode;
if($_FILES[file][error]!=0){
	$content = "Bitte überprüfe deine Daten und vergleiche sie mit den Vorschriften! <a href='?faq=xx'>FAQ: Dateivorschriften</a>";
	return;
}
$dn = explode(".",$_FILES[file][name]);
if(count($dn)!=2){
	$content = "Bitte überprüfe den Dateinamen! <a href='?faq=xx'>FAQ: Dateiname</a>";
	return;
}
$dateiname = $dn[0];
$dateiendung = strtoupper($dn[1]);
$daten = fread(fopen($_FILES['file']['tmp_name'], "rb"), filesize($_FILES['file']['tmp_name']));
$md5daten = md5($daten);

switch($LOGIN){
	case 0:
	switch($umode){
		case "1":
		$SQL = "INSERT INTO 
		chs_daten (dname,dend,vname,type,content,hashcontent,size,time,ip) 
		VALUES ('$dateiname','$dateiendung','".$_FILES[file][name]."','".$_FILES[file][type]."','".addslashes($daten)."','".$md5daten."',".$_FILES[file][size].",".time().",'".$REMOTE_ADDR."')";
		mysql_query($SQL);
		break;
		case "2":
		$q = mysql_query("SELECT * FROM chs_user WHERE nick='$username' AND pw='".md5($passwd)."'");
		if(mysql_num_rows($q)==1){
			$userid=mysql_fetch_array($q);
			mysql_query("INSERT INTO 
			chs_daten (dname,dend,vname,type,content,hashcontent,size,time,ip,user) 
			VALUES('$dateiname','$dateiendung','".$_FILES[file][name]."','".$_FILES[file][type]."','".addslashes($daten)."','".$md5daten."',".$_FILES[file][size].",".time().",'".$REMOTE_ADDR."',$userid[0])");
			$_SESSION['user'] = $userid[1];
			$_SESSION['uid'] = $userid[0];
			$_SESSION['pw'] = $userid[2];
			$_SESSION['mail'] = $userid[3];
		}else{
			$content .= "Bitte überprüfe deine Daten! (Nick & Passwort) <a href=?show=lostpw>Passwort vergessen?</a>";
			return;
		}
		break;
	}
	case 1:
	mysql_query("INSERT INTO 
	chs_daten (dname,dend,vname,type,content,hashcontent,size,time,ip,user) 
	VALUES ('$dateiname','$dateiendung','".$_FILES[file][name]."','".$_FILES[file][type]."','".addslashes($daten)."','".$md5daten."',".$_FILES[file][size].",".time().",'".$REMOTE_ADDR."',".$_SESSION['uid'].")");
	break;
}
if(mysql_affected_rows()==1){
	$content = "Die Datei <i>$dateiname.$dateiendung (Größe: ".round(($_FILES[file][size]/1024),2)." kB)</i> wurde hochgeladen und eingetragen!<br>
	Sie ist unter folgenden Links erreichbar:<br>
	<a href='?view=$md5daten'>MD5: $md5daten</a> oder mit der <a href='?view=".mysql_insert_id()."'>ID: ".mysql_insert_id()."</a>
	<p>Daten zu deiner Datei:
	<table style='font-size:10pt'>
	<tr><td>Name</td><td>$dateiname.$dateiendung</td></tr>
	<tr><td>Größe</td><td>".round(($_FILES[file][size]/1024),2)." kB</td></tr>
	<tr><td>Typ</td><td>".$_FILES[file][type]."</td></tr>
	<tr><td>MD5</td><td>$md5daten</td></tr>
	<tr><td>Online bis:</td><td>".date("d.m.Y",time()+(30*24*60*60))."</td></tr>
	</table>";
	return;
}else{
	$m_err = mysql_error();
	if(eregi("Duplicate entry", $m_err)){
		preg_match("/Duplicate entry \'([a-z0-9]{32})\' for key 2/",mysql_error(),$result);
		$content = "Fehler beim Eintragen von <i>$dateiname.$dateiendung (Größe: ".round(($_FILES[file][size]/1024),2)." kB)</i>!<p>Die Datei existiert bereits!<br><a href=?view=$result[1]>MD5: $result[1]</a></p>";
	}else{
		$content = "Fehler beim Eintragen von <i>$dateiname.$dateiendung (Größe: ".round(($_FILES[file][size]/1024),2)." kB)</i>!<p>$m_err<br>Sende diesen Fehler bitte an <a href=uploaderrorsend.php?>mr.VVoo</a>!</p><p>$SQL</p>";
	}
	return;
}
?>
 
ich hab deshalb auch immer drin:

PHP:
$jetzt=time();

und dann nehm ich immer nur "$jetzt"

ka vorteil/nachteil, so funktionierts jedenfalls

ausserdem hast in der db glaub ne current-timestamp funktion. nutz ich eh nie, aber die gibts ^^

hast mal probiert ob das funzt?
 
ich würde die Spaltennamen einfach mal in `spaltenname`"bauen"
und es gibt außerdem noch
PHP:
echo mysql_error();
zur Fehlersuche
 
Die gleiche Abfrage wird in dem Script noch 2 mal benutzt, mit kleiner Abweichung!
Aber nur an dieser Stelle gibt es ein Problem sonst nicht!
Und das versteh ich nicht!
 
also ich geh davon aus, dass das 2te zitat in deinem ersten post, die ausgabe des sql waren....

hast das mal in phpmyadmin probiert?

defakto fehlen da die 'x' bei 2 werten.

bei dateigrösse und timestamp
 
AAAAAAARRRRRRRRGGGGGGGGGHHHHHHHHHHH.
Ich hasse diese kleinen dummen Fehler. Es fehlte einfach ein "break;"
Sorry ;)