Som ni ser i min form så har jag en "file" där man kan ladda upp bilder.
Hur göra jag med min SQL fråga så att den lägs in i mitt BLOB fält?
Jag har sett att många har flera olika fält, inte bara det binära datat, men jag har bara ett fält som heter Bild (Blob)
Har försökt googla som en tok, men inget funkar för mig..
När du sedan ska visa bilderna, måste du skapa en PHP-fil som läser av blob-fältet och visar bilden efter rätt content-type:
...("SELECT blobFält, typFält FROM Tabell WHERE bildId=5");
header("Content-Type: " . $query["typFält"]);
echo $query["blobFält"];
Enkelt förklarat. Du bör även lägga in en kontroll på vilka typer av filer som får laddas upp. Det skulle väl inte vara så roligt om det började trilla in .exe-filer och dina besökare tror att det är OK att ladda ner dessa när nedladdningsrutan kommer upp?! :)
Ett till säkerhetstips är att förhindra SQL-injektioner. Sök på forumet så kommer du få massor av träffar.
Och till K@llen: Jag vet att detta är att föredra i ganska många lägen, men just nu är webbplatsen uppbyggd såhär. Inget jag vill ändra nu.
SPiN:
Jag kommer bra stödja JPG, så filtyp behövs inte här heller.
Detta är ett admin gränssnitt så inga andra vanliga kommer in här.
Så några kontroller behöver jag inte.
De sabbar bara sin egen sida isf :P
Visas bara URL:en? Hm. Det låter lite märkligt. file_get_contents() tar även en flagga för att visa att man vill läsa filen binärt, men det ska inte behövas - då standard-mode är binärt. Du kan ju alltid testa annars:
Ett fel uppstod när nyheten lades in.
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 '�ǚO,�D�8O�+�v�)��4N/��v�[���Br�m�B-���]0+Xƭ��S.a���c�@r��2�2�P�g�Lb�Y' at line 1
Du har samma problem med filen som du har med den andra indatan. $fileBinary kan innehålla precis hur många 'enkelfnuttar' som helst vilket kan orsaka kaos i din databas.
Du kan egentligen inte byta ut någonting i din kod. Du ska inte börja att mixtra med innehållet i $fileBinary, som att escape:a tecken osv. - det är ju trots allt binär data. Det bästa är om du pluggar in dig på PDO och prepared statements - så slipper du oroa dig för SQL-injektioner också, som jag varnade för tidigare.
Det är inte rätt väg att gå... Du escape:ar tecken i en sträng av binära tecken - som jag sa i ett tidigare inlägg. Läs in dig på PDO och prepared statements istället.
268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25