SQL syntax

Tags:    mysql php

<< < 123 > >>
Jeg er i gang med et nyhedssystem, hvor det er muligt for brugeren at kunne loade nogle billeder med. Problemet er bare, at den ikke smider billederne ind i databasen eller folderen, men den skriver fint nyheden ind.

Der hvor jeg er kommet frem til at fejlen må være er her (fejl fundet ved hjælp af die(print_r($files)):
Fold kodeboks ind/udPHP kode 


Jeg modtager denne "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 '' at line 1"

Jeg har nu ledt og ledt og ledt. Men jeg kan simpelthen ikke finde ud af, hvad det er der er galt. Nogen der kan hjælpe? :s




26 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Hej Ronny.

Nu får jeg dette her:
INSERT INTO newsimg (newsID, images) VALUES ('142', '')Nyhed oprettet.
7

Men hvorfor reagere den ikke på images?
Det er png jeg prøver, men har også prøvet jpg.



hedder dit file array file ??, det hedder userfile det nemmeste vil være at omdøbe
<input name="userfile[]" type="file" /><br />
til
<input name="file[]" type="file" /><br />


ellers skal du rette
$_FILES["file"]
til
$_FILES["userfile"]
små 10 steder


har du nogle $ til overs ??, de mangler i din tæller variabel i
Fold kodeboks ind/udKode 


skal se sådan ud

Fold kodeboks ind/udKode 


hvis du havde gedet slå error_reporting til ville den have vist dig fejlene



Hej igen :)

Det er ikke fordi jeg ikke har ville slå error_reporting til, som sagt har jeg brugt noget andet i den forbindelse.

Men jeg må stadig desværre sige, at det ikke virker :S




Det er ikke fordi jeg ikke har ville slå error_reporting til, som sagt har jeg brugt noget andet i den forbindelse.

hvilke andet ??, det virker ihvert fald ikke

og ja der er en fejl mere, du løber kun din løkke igennem 1 gang, så pt uploader den kun et billed



Jeg har brugt die(print_r($files)), da det var det jeg fik anbefaldet :)

Lige nu får jeg den til at skrive i newsimg ang. newsid nr., men billedet bliver ikke uploadet endnu.



Billedet bliver altså hverken uploadet til din database eller din server?



Daniel:
- Billede adressen (navnet) bliver ikke skrevet ind i databasen, samt billedet bliver ikke uploadet til mappen på serveren.:)

Ronny:
- Du siger jeg mangler en form for løkke en gang, men jeg har tjekket efter i rigtig lang tid og jeg kan ikke finde den? Kan du give et hint?



Indlæg senest redigeret d. 02.12.2013 06:38 af Bruger #17534
hint
linje 21 i coden vist 30.11.13 19:24
for($i = 0; $i < count($_FILES); $i++)
er det nødvendigt at beregne antallet af $_FILES ved hvert gennemløb ?? (dårlig performance)
hvad retuneres her count($_FILES) ?? (jeg kan røbe det 1)
hvad forvendter du der retuneres

virkningen er at $files[] kun indeholder et filnavn, og uplosdet i coden vist nedenfor

if (@move_uploaded_file($_FILES["file"]["tmp_name"][$i], $folder . $newfile) )
{
$files[] = $newfile;
}

og derfor vl din efterfølgende foreach, kun blive gennemløbet 1 gang




Jeg er desværre ikke helt med på det første du skriver.



du kan prøve at lave denne linje
for($i = 0; $i < count($_FILES); $i++)
om til
for($i = 0; $i < 5; $i++)

som test, så skulle du gerne kunne oploade op til 5 billeder, hvor din nuværende begrænsning er 1

jeg ville skrive det sådan

$antal_i_input_file_array = 5; // siden hen kan du lege med hvordan du får count($_FILES) til at retunerer 5
for($i = 0; $i < $antal_i_input_file_array; $i++)




<< < 123 > >>
t