![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 17.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mam takie zapytanie:
Jeśłi w tytule jest średnik (angielski tytuł) '... can't' to wiadomo wywala błąd. Próbowałem zamienić na " :
Wtedy dodaje mi do bazy zamiast tytułu po prostu nazwę smiennej $tytul. Jak usunę całekim cudzysłowy to też jest lipa. Próbowałem je jakoś escapować w stylu \"$tytul\", ale to też nie działa. Jak w takim razie to przerobić, żebym mógł dodawać angieslkie stringi do bazy zawierające średnik ' ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 376 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Korzystać z bindowania parametrów dla nowoczesnych rozwiązań.
Pewnie używasz mysql_query wiec mysql_real_escape_string. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 17.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Tak to ma wyglądać ? Mi to nie działa (moje zapytanie jest dużo dłuższe więc podaje takie jako przykład, no ale nie za bardzo. Są jakieś inne sposoby ? Ten post edytował tzar 9.12.2015, 13:49:05 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 376 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak, tylko w przykładzie podałeś 2 kolumny i 3 wartości. Klucz główny w takim wypadku pomijaj i bo i tak jest autoincrement pewnie.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 17.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Wywala pełno błędów, dla przykładu:
5 errors were found during analysis. A comma or a closing bracket was expected (near "(" at position 101) Unexpected token. (near "Danish" at position 102) Unexpected token. (near "Symphony" at position 109) Unexpected token. (near ")" at position 117) Unexpected token. (near ")" at position 118) MySQL zwrócił komunikat: Dokumentacja #1584 - Incorrect parameters in the call to stored function 'mysql_real_escape_string' |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 376 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Masakra, skup się.
https://wwwgo.pl/advice/show/3/korzystam_z_...ed._dlaczego%3F Ten post edytował viking 9.12.2015, 14:15:13 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 17.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, mi to nie działa:
echo wyświetla:
więc nic się nie zmienia... Ten post edytował tzar 9.12.2015, 15:44:35 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
![]() Dostales dokladny kod jakiego masz uzyc i to nie potrafisz skopiowac :/ -------------------- "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: 18 Pomógł: 0 Dołączył: 17.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Jak robię:
$sql = "INSERT INTO `m` ( `tytul`) VALUES ( '%s');"; To w bazie mam %s, więc uznałem że to błąd... Co w sumie jest dziwne, bo echo już wyświetla się poprawnie i jak wkleję do myadmina kod: INSERT INTO `movie_test_3` ( `tytul`) VALUES ( 'ddd\'ddd'); to się dodaje, jednak to zapytanie bezpośrednio dodaje mi %s Spróbuję zmienić cudzysłowy... Ten post edytował tzar 9.12.2015, 15:53:56 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wynik sprintf() masz ponownie zapisac do zmiennej $sql i to przed wykonaniem zapytania.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 17.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Teraz gra, dzięki
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.05.2025 - 09:09 |