Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zapisanie kontentu obrazka do bazy - problem
Forum PHP.pl > Forum > Przedszkole
artek
  1. $imageContent = file_get_contents($uploaded);


biore sobie content zmiennej uploaded, moge go fajnie wyświetlić, ale jak wpisać go do bazy? wyskakuje mi problem po zapytaniu

  1. $sth = $this->pdo->prepare("INSERT INTO
  2. `images-content`(`id`, `image-name`, `image-content`)
  3. VALUES
  4. (NULL, '".$imageName."', '".$imageContent."');");
  5. $sth->execute();


Cytat
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters in C:\xampp\htdocs\repo\generator_oop\database.php on line 76


jak zapisać do bazy zmienna imageContent (content obrazka), jakie musi mieć typy pole z kontentem w bazie?
nospor
Skoro uzywasz PDO i PREPARE, to weź binduj wartosci a nie przekazujesz je bezposrednio do zapytania
artek
Cytat(nospor @ 7.10.2015, 13:11:15 ) *
Skoro uzywasz PDO i PREPARE, to wes binduj wartosci a nie przekazujesz je bezposrednio do zapytania

nie rozumiem co masz na myśli pod pojęciem bindowania, możesz rozwinąć?
nospor
http://php.net/manual/en/pdo.prepare.php
Cala masa przykladow z bindowaniem - manual.
artek
Cytat(nospor @ 7.10.2015, 13:21:22 ) *
http://php.net/manual/en/pdo.prepare.php
Cala masa przykladow z bindowaniem - manual.

dalej mi to nie pomaga, zapytanie fajnie sie wykonuje, tylko w bazie nie ma 3 pola rekordu, jest pusty
nospor
Moja szklana kula mowi mi.... nie, nic mi nie mowi.... Tak ciezko wpasc na pomysl, ze nalezy pokazac nam kod jaki masz po poprawkach??

Cytat
dalej mi to nie pomaga
Jak nie pomaga? Toz sie wkoncu zapytanie wykonalo... wczesniej sie nie chcialo nawet wykonac... A to ze nie masz wartosci jakie chcesz to albo źle je przekazujesz albo co innego. Patrz punkt wyzej
artek
Cytat(nospor @ 7.10.2015, 13:54:10 ) *
Moja szklana kula mowi mi.... nie, nic mi nie mowi.... Tak ciezko wpasc na pomysl, ze nalezy pokazac nam kod jaki masz po poprawkach??

Jak nie pomaga? Toz sie wkoncu zapytanie wykonalo... wczesniej sie nie chcialo nawet wykonac... A to ze nie masz wartosci jakie chcesz to albo źle je przekazujesz albo co innego. Patrz punkt wyzej


nie wprowadzałem żadnych poprawek, zapytanie się wykonywało, kwestia tego, że nie dodaje mi kontentu, który np wyświetla się tak:
Cytat
string(36885)
i krzaczki a dokładnie ~37k

to chciałbym dodać do pola rekordu, ale mi się nie dodaje
KsaR
  1. $this->pdo
  2. ->prepare('INSERT INTO `images-content` (`image-name`, `image-content`) VALUES (?, ?);')
  3. ->execute(array($imageName, $imageContent));

A tak?, pokaz jak zrobiles.
Pyton_000
Czy ty próbujesz wrzucić obrazek do bazy ?
nospor
Cytat
to chciałbym dodać do pola rekordu, ale mi się nie dodaje
Bo zrobiles źle. Mowilem ci, ze masz uzyc bindowania, podalem ci przyklady... a tyczekasz na gotowce, takie jak szanowny KsaR ci daje by zasluzyc na punkcika pomogl. Nie zdaje sobie chlopak sprawy, ze robi ci krzywde, pozbawiajac cie mozliwosci minimalnego wlasnego wysilku...

Cytat
Czy ty próbujesz wrzucić obrazek do bazy ?
@Pyton, a kto bogatemu zabroni?
artek
Cytat(Pyton_000 @ 7.10.2015, 14:08:06 ) *
Czy ty próbujesz wrzucić obrazek do bazy ?

tak mi nakazano w pracy

możecie mi podpowiedzieć, dlaczego moje zapytanie nie działało poprawnie, a KsaRa tak? bo nie do końca rozumiem
KsaR
Cytat(artek @ 7.10.2015, 14:23:05 ) *
tak mi nakazano w pracy

możecie mi podpowiedzieć, dlaczego moje zapytanie nie działało poprawnie, a KsaRa tak? bo nie do końca rozumiem

Bo ty zmixowales parametry, a ja zrobilem poprawnie (zajrzyj do manuala tak jak podal nospor).
(NULL, '".$imageName."', '".$imageContent."')
To null mozesz pominac wraz z kolumna id.
A dalej to musisz bindowania tzn w kolumnach normalnie dajesz (`kolumna1`, `kolumna2`) po values dajesz (?, ?) ilosc "?" musi sie zgadzac z iloscia kolumn. A nastepnie podbijasz je w tablicy w execute.
Jednak lepsze przyklady masz w manualu, ja pokazalem zastosowanie jedno linijkowe ktore dziala tylko dla operacji typu INSERT INTO/UPDATE/DELETE itd.

@@@@@@nospor, grrr limit 15 privwów/dzien mi sie wyswietla i nie mam jak odpisac@@@@@@
nospor
Cytat
@@@@@@nospor, grrr limit 15 privwów/dzien mi sie wyswietla i nie mam jak odpisac@@@@@@
W koncu jakis pozytek z tych limitów wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.