parse error, unexpected T_VARIABLE

ingo preuss

Mitglied
Hallo,
ich bekomme in folgendem code-Schnipsel o.g. Fehler:
Code:
 	$result = mysql_query "INSERT INTO binary_data (description, data, filename, filesize, filetype) VALUES("' . mysql_real_escape_string($_POST['description'], $link).'", "'. < /br> mysql_real_escape_string($_POST['data'], $link) . '", "' . < /br> mysql_real_escape_string($_POST['filename'], $link) . '")"; < /br>
Im Anschluss habe ich folgende Zeile gesetzt, um zu sehen was in
den Variablen landet:
Code:
      echo '<pre>' . print_r($FILES, true) . '</pre>';
Mir wurde nichts ausser der Titel-Zeile ausgegeben. Sind die Hochkomma in den code-Bsp. richtig gesetzt?
Muessen in den Bezeichnern fuer die $_POST -Variablen die Namen der input-Felder oder die der db-Felder stehn? War in dem Bsp. etwas unuebersichtlich, weil db-Feld und input-Feld jeweils den gleichen Namen haben.

Gruß, Ingo
 
hallo! deine hochkommas sind meiner meinung nach falsch gesetzt!
außerdem....wofür sind die <br>
orientiere dich mal an diesem schema:
PHP:
$sql = "INSERT INTO tabelle (v1,v2,v3) VALUES ('".$wert1."','".$wert2."','".$wert3."')" ;

mfg
 
Was bitte vermagst du mit
Code:
< /br>
zu bezwecken?

Strukturiere deine Abfragedefinition mal:
PHP:
<?php
	[…]
	$query = "
		INSERT INTO
		        `binary_data`
		  SET
		        `description` = '" . mysql_real_escape_string($_POST['description'], $link) . "',
		        `data`        = '" . mysql_real_escape_string($_POST['data'], $link) . "',
		        `filename`    = '" . mysql_real_escape_string($_POST['filename'], $link) . "',
		        `filesize`    = '" . mysql_real_escape_string($_POST['filesize'], $link) . "',
		        `filetype`    = '" . mysql_real_escape_string($_POST['filetype'], $link) . "'
		";
	$result = mysql_query($query);
	[…]
?>
 
Gumbo hat gesagt.:
Was bitte vermagst du mit
Code:
< /br>
zu bezwecken?

Das war ein Fehler den du schneller bemerkt hast als ich.

PHP:
<?php
         	[…]
         	$query = "
         		INSERT INTO
         		        `binary_data`
         		  SET
 		 `description` = '" . mysql_real_escape_string($_POST['description'], $link) . "',
        		 `data` = '" . mysql_real_escape_string($_POST['data'], $link) . "',
   		 `filename` = '" . mysql_real_escape_string($_POST['filename'], $link) . "',
   		 `filesize` = '" . mysql_real_escape_string($_POST['filesize'], $link) . "',
  		 `filetype` = '" . mysql_real_escape_string($_POST['filetype'], $link) . "'
         		";
         	$result = mysql_query($query);
         	[…]
         ?>

Ich muss erstmal klar kriegen, wo spaces sein koennen und wo nicht. Dank dir fuer das "Format-Tutorial". Ich mach besser mit meiner Startvariante weiter. Bin neu in Sachen PHP & MySql.
PHP:
                    $result = mysql_query ("INSERT INTO binary_data (description, data, 
               filename, filesize, filetype)
                  VALUES('".mysql_real_escape_string($_POST['description'], $link)."',
             '".mysql_real_escape_string($_POST['data'], $link)."',
                 '".mysql_real_escape_string($_POST['filename'], $link) ."')");
Eins nach dem Andern. Dennoch landet nach wie vor nichts in der table.
So sieht mein form-field aus:
HTML:
     <form method="post" action="<?php echo $PHP_SELF;?>"
     enctype="multipart/form-data">
     	file description:<br />
     	<input type="text" name="description" size="40">
     	<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
     	<br />File to upload/store in db:<br />
     	<input type="file" name="data" size="40">
     	<input type="submit" name="submit" value="submit">
     	</form><?php
Ich habe vorher einen if-Zweig drin, um sicher zu gehen, dass die db connected ist. Sie ist. Seht ihr hier Fehler?
 
Gumbo hat gesagt.:
Lies dir mal den Kapitel über die Steuerung von Dateiuploads durch, der wird dir sicherlich weiterhelfen.
Dank dir fuer deinen Tipp. Es ging so mit dem weiter helfen. Ich bin schon um einiges weiter als vorher. Der link zum Problem: http://www.isorast24.de/binup/binup.php
Frage: Muss ich in der mysql_real_escape_string den Namen des input-Feldes als Parameter uebergeben oder den Namen des Feldes aus der Mysql-Tabelle?
Hier die Stelle Quelltext wo ich mir nicht sicher bin:
Code:
 $result = mysql_query ("INSERT INTO binary_data (description, data, filename, filesize, filetype) VALUES('".mysql_real_escape_string($_POST['description'], $link)."', '".mysql_real_escape_string($_POST['data'], $link)."','".mysql_real_escape_string($_POST['filename'], $link) ."')"); 
    
    ...
    
    	//hier das Formfeld zum abschicken der Bilder: 
    	?><form method="post" action="<?php echo $PHP_SELF;?>
    	" enctype="multipart/form-data">
    	Bildbeschreibung:<br />
    	<input type="text" name="description" size="40">
    	<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    	<br />Bild zum speichern in db:<br />
    	<input name="data" type="file" size="40">
    	<input type="submit" name="submit" value="Send File">
    	</form>

Wie kann ich konkrete Fehler erfragen? Ich habe folgendes probiert:
Code:
  print_r($_FILES['filename']['error']);
Hat mir nichts ausgegeben.
 
ingo preuss hat gesagt.:
Muss ich in der mysql_real_escape_string den Namen des input-Feldes als Parameter uebergeben oder den Namen des Feldes aus der Mysql-Tabelle?
Du musst der Funktion die Variable übergeben, die du escapen willst. [phpf]mysql_real_escape_string[/phpf]
 
Zurück