Autor | Zpráva | ||
---|---|---|---|
UrbiCZ Profil |
Čau. Nedaří se mi nahrát obrázek do DB. Vždy to napíše chybu: 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 '7ðâ£Ã4Dd5uVñ„´EeFãÄ' at line 1
Zde kód: <?php if(isset($_POST["submit"])){ $spojeni = mysql_connect("localhost", "root", "xxx"); if(!$spojeni){ die("What?"); } $spojeni = mysql_select_db("databaseimage"); if(!$spojeni){ die("What?"); } $file = $_FILES["image"]["tmp_name"]; $image = file_get_contents($_FILES["image"]["tmp_name"]); $image_name = $_FILES["image"]["name"]; $image_size = getimagesize($_FILES["image"]["tmp_name"]); if($image_size == false){ echo "That is not an image"; }else { if(!$insert = mysql_query("INSERT INTO store(name, image) VALUES('$image_name', '$image')")){ die("Chyba" . mysql_error()); } } } ?> |
||
LukasK Profil |
#2 · Zasláno: 16. 10. 2012, 19:10:30
Pokud to dobře chápu, pak je problém se znakem ´ v řetězci, který se snažíš uložit do db.
|
||
Rfilip Profil |
#3 · Zasláno: 16. 10. 2012, 19:13:35
Jaká je struktura tabulky store?
|
||
whoami Profil |
Chtělo by to obrázek alespoň ošetřit nebo jako base64 a název také ošetřit.. Pak by neměl být problém. Pokud se tedy do 'image' sloupce data vlezou..
|
||
UrbiCZ Profil |
#5 · Zasláno: 16. 10. 2012, 19:24:02 · Upravil/a: UrbiCZ
Tady je ta struktura:
Jak to myslíš ošetřit? |
||
panther Profil |
UrbiCZ:
nikde neescapuješ ten vstup: mysql_real_escape_string whoami: proč proboha base64, když existují databázové funkce na to určené? On tam je file_get_contents, který jsem přehlédl. UrbiCZ: ukládej jen název obrázku, nebo cestu k němu. Obrázek jako takový v DB nepotřebuješ. |
||
Rfilip Profil |
#7 · Zasláno: 16. 10. 2012, 19:28:26
Datový typ sloupce tabulky máš správný, nevím v čem dalším by mohl být problém.
A mimochodem není lepší v db ukládat cestu k obrázku v souborovým systému? |
||
whoami Profil |
panther, Rfilip:
Někdy je cíl uložit obrázek do db.. má to i své výhody.. Samozdřejmě člověk musí věďět proč to dělá.. ne jen tak protože je to cool.. panther: Navrhoval jsem base64 kvůli tomu že obrázek je v tomto formátu v době "html5" dobře použitelný.. A je to jeden ze standardů jak ho uložit.. |
||
UrbiCZ Profil |
#9 · Zasláno: 16. 10. 2012, 19:56:35
Tak jsem se rozhodl pro upload pouze názvu obrázku. Samotné obrázky budu nahrávat do složky images pomocí move_uploaded_file().
|
||
Časová prodleva: 12 let
|
0