Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] zapisanie kontentu obrazka do bazy - problem
artek
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 6.10.2015

Ostrzeżenie: (0%)
-----


  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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Skoro uzywasz PDO i PREPARE, to weź binduj wartosci a nie przekazujesz je bezposrednio do zapytania


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artek
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 6.10.2015

Ostrzeżenie: (0%)
-----


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ąć?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://php.net/manual/en/pdo.prepare.php
Cala masa przykladow z bindowaniem - manual.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artek
post
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 6.10.2015

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artek
post
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 6.10.2015

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
KsaR
post
Post #8





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

Ostrzeżenie: (0%)
-----


  1. $this->pdo
  2. ->prepare('INSERT INTO `images-content` (`image-name`, `image-content`) VALUES (?, ?);')
  3. ->execute(array($imageName, $imageContent));

A tak?, pokaz jak zrobiles.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #9





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Czy ty próbujesz wrzucić obrazek do bazy ?
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artek
post
Post #11





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 6.10.2015

Ostrzeżenie: (0%)
-----


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

Ten post edytował artek 7.10.2015, 13:27:43
Go to the top of the page
+Quote Post
KsaR
post
Post #12





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

Ostrzeżenie: (0%)
-----


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@@@@@@

Ten post edytował KsaR 7.10.2015, 13:35:21


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:30