"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

SOLVED: HELP: update-funktion in php funkt nicht

Easyrider16 21.06.2006 - 13:13 584 6
Posts

Easyrider16

Bloody Newbie
Avatar
Registered: Aug 2004
Location: Amstetten, NÖ
Posts: 1791
hab problem beim update, echt schon alles probiert, finde den fehler einfach nicht, müsste in der letzten zeile der sql-anweisung sein

fehlermeldung:

Fehler!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 'WHERE AID = 52' at line 9


COde:

Code: PHP
<html>
<head>
<title>update</title>

</head>
<body>
<link rel="stylesheet" href="../../../_css/main.css" type="text/css"><strong></strong>

 <?php // Variabeln für max. Dateigröße und erlaubte Dateiformate festlegen 
$max_byte_size = 2097152; 
$allowed_types = "(jpg|jpeg|gif|bmp|png)"; 

// Überprüfung, ob Formular  abgeschickt wurde
if($_POST["fsubmit"] == "Bestätigen") { 

	// Überprüfung, ob wirklich eine Datei hochgeladen wurde 
	if(is_uploaded_file($_FILES["file"]["tmp_name"])) { 

		// Überprüfung der Endungen ($=Am Ende des Dateinamens) (/i=Groß- Kleinschreibung nicht berücksichtigen) 
		if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) { 

			// Überprüfung der Dateigröße 
			if($_FILES["file"]["size"] <= $max_byte_size) { 

				// Datei uploaden 
				copy($_FILES["file"]["tmp_name"], "../images/article images/".$_FILES["file"]["name"]);
	
				echo "Datei erfolgreich hochgeladen!<br>"; 
				echo "Name: " . $_FILES["file"]["name"] . "<br>"; 
				echo "Größe: " . $_FILES["file"]["size"] . " Byte<br>"; 
				echo "MIME-Type: " . $_FILES["file"]["type"] . "<br>"; 
				echo "Link: <a href=\"../images/article images/" . $_FILES["file"]["name"] . "\">" . $_FILES["file"]["name"] . "</a>"; 
				} 
			else {echo "Die Datei darf nur eine Größe von " . $max_byte_size . " Byte besitzen.";} 
			} 
		else {echo "Die Datei besitzt eine ungültige Endung.";}
		} 
	/* else {echo "Keine Datei zum Hochladen angegeben.";} */
	} 
else {echo "Bitte benutzen Sie das Upload Formular.";} 
?> 
<?php
function date_german2mysql($datum) {
list($tag, $monat, $jahr) = explode(".", $datum);
return sprintf("%04d-%02d-%02d", $jahr, $monat, $tag);
}
?>


<meta http-equiv="refresh" content="10;URL=article_aender.php">

<?php
$pic = $_FILES["file"]["name"];
$link = mysql_connect("localhost","hak_buchung","hak_buchung") or die("Fehler!!: ".mysql_error());
$db = mysql_select_db("hak_buchung",$link) or die("Fehler!!: ".mysql_error());

$sql = "UPDATE tblauktionen SET 
            subject     = '".$_POST['fsubject']."',
            description = '".$_POST['fdescription']."',
           `to`         = '".date_german2mysql($_POST['fto'])."',
            available  = ".$_POST['favailable'].",
            limit1       = ".$_POST['flimit'].",
            price       = ".$_POST['fprice'].",
            picture     = '".$pic."',
			WHERE AID = ".$_REQUEST['aid'];
			
$result = mysql_query($sql,$link) or die ("Fehler!".mysql_error());
?>

</body>
</html>
Bearbeitet von Easyrider16 am 21.06.2006, 14:10

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Hat deine Tabelle eine Spalte AID?
Wenn ja dann versuch's mit `AID` = '52'.

rettich

Legend
waffle, waffle!
Avatar
Registered: Jan 2004
Location: wien
Posts: 794
welcher feld-typ ist AID?
die AID ist die einzige, die du nicht unter hochkommata im statement hast.

Easyrider16

Bloody Newbie
Avatar
Registered: Aug 2004
Location: Amstetten, NÖ
Posts: 1791
die tabelle hat eine spalte aid

der datentyp ist integer

Easyrider16

Bloody Newbie
Avatar
Registered: Aug 2004
Location: Amstetten, NÖ
Posts: 1791
hab den fehler

der beistrich vor der where-bedingung gehört weg

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
nur so als anmerkung:

wenn ich mich bischen mit dem formular spiele und für aid folgendes abschicke:

"3 OR 1=1"

wirst du eine große freude haben ;)

rettich

Legend
waffle, waffle!
Avatar
Registered: Jan 2004
Location: wien
Posts: 794
full ack, google mal unter dem stichwort "SQL injection" und tu was dagegen ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz