Einfaches Bildupload Script

Bobo2040

Mitglied
Hi leute :D
Ich bin neu hier im Forum...
also ich habe nen Problem und zwar will ich ein Bildupload Script basteln... nen Wirklick einfaches...also ohne die Größe zu veränder/überprüfen sondern nur datei auf MySql drauf und dann wieder auslesen... ich habes schonmal versucht aber er gibt mir keinen Fehler aus hier mal mein Script.
Die PHP Datei:
PHP:
<?php

if(empty($_FILES['bild']['name'])) {
	echo "Sie Haben kein Bild ausgewählt!";
} else {
	
include('settings/connect.php');

$sql_befehl = "INSERT INTO daten('bilder') VALUES (".$_FILES['bild']['name'].")";
mysql_query($sql_befehl);
echo $_FILES['bild']['name'];
}
?>
Und hier das Form:
HTML:
	<form action="bild_upload.php" method="post" id="form_bild"  enctype="multipart/form-data">
		<table>
			<tr>
				<td>
					<input type="file" name="bild" value="Datei auswählen"/>
				</td>
				<td>
					<input type="image" value="PasteIT!" src="images/paste.png" id="eintragen_submit"/>
				</td>
			</tr>
		</table>
	</form>
Er trägt nix in die DB ein...
 
Hi und Willkommen bei turorials.de,

wird das echo am Schluss ausgegeben?

Ändert sich an der Ausgabe was, wenn die erste PHP-Zeilen folgendes sind?
PHP:
error_reporting(E_ALL);
ini_set('display_errors', 1);
 
Naja das echo am ende war zum gucken ob überhaupt was übergeben wird...
und nein hat sich nix geändert funktioniert immernoch nicht und fehlermeldungen gibt er mir auch
nicht
das mit dem mysqli haben mir schon nen paar leute gesagt... aber wo liegt denn der vorteil?
 
Zuletzt bearbeitet:
Ja gut, aber wird was ausgegeben? Was?
(dass keine Fehlermeldungen sind weiß ich, aber das ist ja auch keine Fehlermeldung. Hoffentlich)

PS: Die Verwendung der mysql_xyz-Funktionen von PHP ist schon lange nicht mehr zu empfehlen.
Verwende Mysqli oder PDO
 
Schreib mal statt
PHP:
mysql_query($sql_befehl);
vorerst
PHP:
mysql_query($sql_befehl) or die(mysql_error());
Ausgabe jetzt?

Mögliche Fehlerursache: In der SQL-Anweisung fehlen Anführungszeichen...
Versuch so:
PHP:
$sql_befehl = 'INSERT INTO daten(\'bilder\') VALUES (\''.$_FILES['bild']['name'].'\')';
(in einer Zeile)
Du hattest zwar alle PHP-mäßigen Anführungszeichen schön drin,
aber der String, der da rauskommt, also die reine SQL-Anweisung, braucht auch was.
INSERT INTO irgendwas VALUES(hallo)
INSERT INTO irgendwas VALUES('hallo')
...

Falls Verwirrung durch die ganzen \' und ' entsteht,
da sind Strings und ihre Begrenzer in PHP ausführlich erklärt:
http://php.net/manual/de/language.types.string.php
 
Habe eben mal im Inet den befehl mysql_error() gefunden und mit echo ausgeben lassen und der hat mir das ausgespuckt...

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 ''bilder') VALUES (test.png)' at line 1

Kann aber nichts damit anfangen -.-'
 
Okay also das mit \' was das heist weiß ich weil php die hochkommas direkt umwandelt..
Ja hattes nicht gesehn sry :D
 
Zurück