[ kelebija @ 06.06.2008. 09:13 ] @
Kad iz forme koja salje vise fajlova (u mom slucaju fotki) ka php strani za obradu koja treba da ubaci fotke u nizu u MySql bazu, skript ubaci samo prvu, od nekoliko koje mu se zadaju...

Kad proverim kako forma prosledjuje podatke ka stranici za obradu, dobijem:

Array
(
[attachment] => D:\\Slike\\Bebe\\1.JPG
[attachment2] => D:\\Slike\\Bebe\\5.JPG
[attachment3] => D:\\Slike\\Bebe\\8.JPG
[submit] => Prosledi
)



Strana obrada.php izgleda ovako:

<?

include ('konekcija.php');

$a = $_POST['attachment'];

$data = addslashes(fread(fopen($attachment, "r"), filesize($attachment)));

$myArray = array(0 => array('fotka' => $data)

);

foreach($myArray as $value) {

$query = "INSERT INTO slikice
(id, fotka, id_galerije) VALUES ('', '$value[fotka]', 'neki_naziv')";

$result = mysql_query($query);

if(!$result){

print("Problem: " . mysql_error() . "");
} else {

print("Uspesno !");
}
}

?>

Pretpostavljam da nesto nije dobro u strani za obradu.. Cak sam pokusao da $myArray promenljivu stavim u petlju, medjutim ni to nije uspelo..
Ako neko ima ideju, mnogo bi pomoglo..
[ zmau @ 08.06.2008. 16:21 ] @
Zabeleži tekstove upita koji se izvršavaju (recimo u neki tekstualni fajl). Okini te upite iz nekog proverenog mysql klijenta (recimo query browser). Ako se uspešno izvrše, postavi pitanje na PHP forumu. Inače, daj nam upite pa da pričamo o njima.
[ Miroslav Ćurčić @ 10.06.2008. 07:32 ] @
Problem je u tome što ti u sadržaju $data može uleteti apostrof koji će prekinuti mysql instrukciju.
Ne možeš ovako da beležiš binarne podatke u bazu.

Već je bilo priče o tome, pregledaj, neko je recimo predložio da se $data prethodno obradi s base64encode.
Meni lično nije nikad palo na pamet da čuvam datoteke u bazi već samo link do njih.
[ kelebija @ 11.06.2008. 11:32 ] @
Slazem se.. Medjutim, fotke su male, nisu teske, a drugo, manipulacija tipa, brisanja i ubacivanja, pojedinacnog, grupnog ili svog mi se ucinila jednostavnije ako fajlove smestim u bazu.