![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 12.07.2009 Ostrzeżenie: (10%) ![]() ![]() |
Witam serdecznie
Wstawiam do bazy nowe rekordy:
I jak widzicie musiałam kilka razy napisać $stmt->bindValue. Czy da się jakoś uprościć i skrócić całą tą operacje? Tak żęby nie trzeba było się powtarzać? Jak mogłabym to zrobić? Bardzo proszę was o pomoc. pozdrawiam Jola |
|
|
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 12.07.2009 Ostrzeżenie: (10%) ![]() ![]() |
To zły pomysł bo jeśli zmienne zawierają tekst z cudzysłowami i apostrofami, to wszystko się popsuje. Dlatego trzeba używać bindValue.
Może ktoś inny wie jak to uprościć? pozdrawiam Jola Ten post edytował jolam 21.09.2009, 11:32:12 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://pl.php.net/manual/pl/pdo.prepare.php
I sobie przejrzyj przykłady to może doznasz olśnienia ![]() ps: przeciez to nie ma zadnego związku z bazą danych. Przenosze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 12.07.2009 Ostrzeżenie: (10%) ![]() ![]() |
Ja je czytałam! I to wiele razy.
Może jakaś podpowiedź ? bardzo proszę ![]() pozdrawiam Jola |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
![]() ![]() ![]() Przeciez tam są dwa przykłady. Oba bardzo krótkie i oba zawierają przykład jak włozyc kilka wartosci bez uzycia bind. Mam ci to samo wkleic tutaj bys to zauwazyla? No bez przesady ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 12.07.2009 Ostrzeżenie: (10%) ![]() ![]() |
O to chodzi?
$sql = 'SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'; $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); $sth->execute(array(':calories' => 150, ':colour' => 'red')); $red = $sth->fetchAll(); Ale co ze zmiennymi, które mają cudzysłowy i znaki specjalne? Przecież po to używam tego bindvalue, żeby mi nie psuły się zapytania. No już zgłupiałam zupełnie, o co chodzi? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
tak, o to chodzi.
Cytat Ale co ze zmiennymi, które mają cudzysłowy i znaki specjalne? Przecież po to używam tego bindvalue, żeby mi nie psuły się zapytania. No już zgłupiałam zupełnie, o co chodzi? No ale przeciez to jest dokladnie to samo co bind. Tylko zamiast kolejnych bind uzywasz execute z tablicą parametrow. Cała reszta jest identyczna i sie nie musisz martwic o zadne cudzyslowia. No przeciez w tych przykladach nie masz podanych zadnych cudzyslowi, nawet dla tekstu. No czytaj trochę z wiekszą uwagą...
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
http://php.net.pl/manual/pl/pdo.prepared-statements.php
Cytat Przykład #3 Fetching data using prepared statements
This example fetches data based on a key value supplied by a form. The user input is automatically quoted, so there is no risk of a SQL injection attack.
Ten post edytował zegarek84 21.09.2009, 13:02:50 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 12.07.2009 Ostrzeżenie: (10%) ![]() ![]() |
A jeszcze muszę zapytac czy da się jakoś zrobić aby to działało:
$sql = " INSERT INTO litereczki ( a, b, c ) VALUES ( '$a', '$b', '$c' ) "; $stmt = $dbh -> prepare( $sql ); $stmt -> execute(); Bo jak w tych zmiennych są jakieś cudzysłowy albo apostrofy to się psuje wszystko. A jednak tak byłoby najszybciej pisać w skrypcie. pozdrawiam Jola |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Tak się nie powinno pisać w ogóle, a już zwłaszcza w PDO. Zapomnij o czymś takim.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
A jeszcze muszę zapytac czy da się jakoś zrobić aby to działało: $sql = " INSERT INTO litereczki ( a, b, c ) VALUES ( '$a', '$b', '$c' ) "; $stmt = $dbh -> prepare( $sql ); $stmt -> execute(); Bo jak w tych zmiennych są jakieś cudzysłowy albo apostrofy to się psuje wszystko. A jednak tak byłoby najszybciej pisać w skrypcie. pozdrawiam Jola jeśli chcesz pdo i najszybciej to korzystaj ze znaków zapytania jako zmiennych i nie wykonuj prepare a w execute wstaw tablicę ze zmiennymi
-------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 12.07.2009 Ostrzeżenie: (10%) ![]() ![]() |
zegarek84 to ze znakami zapytania fajne jest i szybkie. Dziękuję serdecznie.
Jola |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@jola przeciez na samym początku jak dawalem ci linka do dwoch przykladow to jeden z nich byl wlasnie ze znakami zapytania. Ty normalnie osłabiasz...
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:55 |