logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[PHP][MYSQL] Pobieranie i dodawanie rekordów - skrypt

lukasz5500 29 Sty 2011 22:13 7097 12
REKLAMA
  • #1 9076020
    lukasz5500
    Poziom 9  
    Posty: 29
    Witam, napisałem pewien kod, ale coś mi nie hula. Kod ma pobierać zmienne POST z formularza i wysyłać do Bazy MySQL.
    Kod form.php wygląda tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod




    i jeszcze plik zamowienia.php który je wyświetla, on tez nie działa chociaż dodałem rekordy przez PHPMyAdmin
    Kod: PHP
    Zaloguj się, aby zobaczyć kod


    Proszę o pomoc =)
  • REKLAMA
  • Pomocny post
    #2 9076132
    oskar777

    Poziom 26  
    Posty: 1264
    Pomógł: 76
    Ocena: 243
    Po pierwsze popatrz, że mysqli_query jeśli ma przedstawić Ci wyniki to musi te wyniki gdzieś przechować.

    Tu masz ładny opis do tego
    http://www.phpknowhow.com/mysql/mysqli-procedural-functions/
    oraz gorąco polecam manual
    http://php.net/manual/en/mysqli.query.php

    Pozdrawiam
    Konto firmowe:
    Oskar-info
    Gidzińskiego 24/1, Warszawa, 02-293 | Tel.: 501XXXXXX (Pokaż) | Strona WWW: http://oskar-info.pl
  • Pomocny post
    #3 9076325
    blade-mrn
    Poziom 22  
    Posty: 320
    Pomógł: 64
    Ocena: 18
    Po pierwsze powyrzucaj @ z kodu.
    Po drugie na początku skryptu dopisz:
    Kod: PHP
    Zaloguj się, aby zobaczyć kod

    Będziesz wiedział czy są jakieś błędy.
    Po trzecie w zapytaniu INSERT nazw table nie pisze się w ''.
  • REKLAMA
  • #4 9077211
    lukasz5500
    Poziom 9  
    Posty: 29
    Witam, poprawiłem błędy, trochę zmieniłem kod, teraz wygląda tak:
    form.php:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Jednak po uzupełnieniu formularza, formularz wyświetla wszystko to co zostało wpisane i błąd:

    Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in /var/www/virtual/strona.cba.pl/admin/box/formbox.php on line 121

    linia 121 to
    Kod: PHP
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #5 9077847
    blade-mrn
    Poziom 22  
    Posty: 320
    Pomógł: 64
    Ocena: 18
    Według mnie to twoje zapytanie SQL jest nadal źle napisane.
    Po pierwsze brakuje . (kropek) służących do łączenia ciągów znaków.
    Po drugie jeśli wpisujesz do bazy wartości typu string musisz umieszczać je pomiędzy '' czego tutaj też brakuje.
    Po trzecie, już pomijając względy bezpieczeństwa to składnia twoich zmiennych POST w tym zapytaniu też jest błędna, powinno być $_POST['wysokosc'] a nie $_POST[wysokosc].
    Tak na pierwszy rzut oka tyle, popraw to i sprawdź.
  • #6 9081633
    lukasz5500
    Poziom 9  
    Posty: 29
    tylko że jest problem, jak połączyć te znaki '' żeby nie przeszkadzały sobie?
    może to głupie pytanie, ale jestem początkujący, chodzi o to że bedzie to tak '$_POST['wysokosc']'

    A wydaje mi się że tak nie może być.
    Mógł byś napisać takie polecenie sql z tylko jedną zmienną $_POST?
    Resztę bym sam dopisał, bo kurde męczę się nad tym ale nie wychodzi.
    No i jeszcze o który ciąg znaków Ci chodzi? Gdzie dać kropki?
    Byłbym wdzięczny za pomoc =)
  • REKLAMA
  • Pomocny post
    #7 9081844
    blade-mrn
    Poziom 22  
    Posty: 320
    Pomógł: 64
    Ocena: 18
    Na początek to radzę ci trochę poczytać bo to są podstawy bez tego będzie ciężko ruszyć dalej.
    Kod: PHP
    Zaloguj się, aby zobaczyć kod

    Ponadto jeśli wprowadzasz dane do jednej tabeli to nie musisz wypisywać jej kategorii na początku zapytania, wystarczy że wstawiane dane podasz w takiej samej kolejności w jakiej są kategoria w tabeli.
    Przerobiłem też twoje zapytanie:
    Kod: PHP
    Zaloguj się, aby zobaczyć kod

    Nie wiem tylko które wartości to liczby więc uznałem wysokość, szerokość, długość i głębokość za liczby a resztę za tekst.
    Tak na marginesie, nie wiem co to będzie za strona ale dodawanie czegokolwiek prosto z formularza bez uprzedniego sprawdzenia jest dużym zagrożeniem dla twojej strony.
  • #8 9084527
    lukasz5500
    Poziom 9  
    Posty: 29
    Wielkie dzięki! Dziaaałaa!
    Ma to być formularz zamówieniowy do zamówienia na meble ;)

    Tematu jeszcze nie zamykam póki nie skończę strony bo na pewno przyda się pomoc ;)
  • #9 9089158
    lukasz5500
    Poziom 9  
    Posty: 29
    Witam ponownie ;)
    Teraz pisze jeszcze skrypt do usuwania zamówień
    Napisałem coś takiego:

    operacje.php

    Kod: PHP
    Zaloguj się, aby zobaczyć kod



    i plik del.php

    Kod: PHP
    Zaloguj się, aby zobaczyć kod


    Nie wiem jeszcze czy plik del.php działa, ale to zostawiłem na później, ponieważ mam problem.

    Gdy otwieram w przeglądarce plik operacje.php
    Mam takie coś:

    [PHP][MYSQL] Pobieranie i dodawanie rekordów - skrypt

    Czyli pole, ale bez wartości 'id'
    Co jest źle?
  • Pomocny post
    #10 9090283
    blade-mrn
    Poziom 22  
    Posty: 320
    Pomógł: 64
    Ocena: 18
    Tak na pierwszy rzut oka co to jest?
    Kod: PHP
    Zaloguj się, aby zobaczyć kod

    Przecież za pomocą tego to się raczej z bazą nie połączysz.
    Tu też masz coś pomotane:
    Kod: PHP
    Zaloguj się, aby zobaczyć kod

    Po co dwa razy wykonujesz to samo zapytanie, z tego raz nieprawidłowo?
  • #11 9113806
    lukasz5500
    Poziom 9  
    Posty: 29
    Noo, juz wszystko działa =]
    Dopisałem jeszcze formularz do aktualności.
    Ale najlepsze przed nami ;p
    To juz ostatnie chyba = )
    Jak dodawać zdjęcie do aktualności?
    Do bazy.

    Oto plik aktform.php
    Kod: text
    Zaloguj się, aby zobaczyć kod



    Plik aktformbox.php

    Kod: PHP
    Zaloguj się, aby zobaczyć kod



    no i wyświetlanie
    czyli aktualnosci.php
    Kod: PHP
    Zaloguj się, aby zobaczyć kod




    Jak dodać zdjęcia?
    W jakim polu w mysql?
    I co dopisać do kodów?
    Myślę że ten temat będzie też dobrą instrukcją dla innych osób potrzebujących tego w przyszłości =]

    Dzięki bardzo za poprzednie odpowiedzi! = )
  • REKLAMA
  • #12 9115535
    blade-mrn
    Poziom 22  
    Posty: 320
    Pomógł: 64
    Ocena: 18
    Coś mi się wydaje że nie chciało ci się choćby zapytać o to Google.
    Zobacz to Link
  • #13 10805728
    lukasz5500
    Poziom 9  
    Posty: 29
    stare czasy, zamykamy

Podsumowanie tematu

✨ W dyskusji poruszono problem z kodem PHP, który miał na celu pobieranie danych z formularza i ich zapis do bazy danych MySQL. Użytkownik napotkał trudności w poprawnym wykonaniu zapytań SQL. Otrzymał porady dotyczące poprawy kodu, w tym usunięcia znaku '@', włączenia raportowania błędów oraz poprawnej składni zapytań SQL. Użytkownik poprawił kod, ale nadal miał pytania dotyczące łączenia ciągów znaków w zapytaniach. Ostatecznie uzyskał pomoc w formie przykładowych zapytań SQL oraz wskazówki dotyczące wprowadzania danych do bazy. Po rozwiązaniu problemów z dodawaniem rekordów, użytkownik zaczął pracować nad skryptem do usuwania zamówień oraz dodawania aktualności.
Wygenerowane przez model językowy.
REKLAMA