• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

php nie chce zapisać rekordu w mysql

Object Storage Arubacloud
0 głosów
627 wizyt
pytanie zadane 27 stycznia 2018 w PHP przez halotelefonek Bywalec (2,410 p.)
edycja 27 stycznia 2018 przez HaKIM

Witam. Nie mogę dodać rekordu do bazy na lokalhoście a w phpmyadmin to samo zapytanie normalnie dodaje rekord i nie wiem co jest grane . Proszę o pomoc i z góry dzięki a dane mam następujące:
 

$polaczenie=@ new mysqli($host, $db_user, $db_password, $db_name);
                        if($polaczenie->connect_errno!=0)
                        {
                            echo "Nie udało się nawiązać połączenia z bazą";
                        }
                        else
                        {
                            $polaczenie->set_charset('utf8');
                            $sql="insert into tabela2 set sciezka='wgrane' ";
                            
                            $rezultat=$polaczenie->query($sql);
                            
                        
                            echo "Wygląda na to że powinno się dodać do bazy  te dane";
                        }        



 

 

i to echo się wyświetla a rekordu do bazy nie dodaje

komentarz 27 stycznia 2018 przez HaKIM Szeryf (87,590 p.)

Proszę, zapoznaj się z poradnikiem jak wstawiać kod źródłowy do pytania:

https://forum.pasja-informatyki.pl/faq#jak-wstawic-kod-zrodlowy

Z góry dzięki! ^^

1 odpowiedź

+2 głosów
odpowiedź 27 stycznia 2018 przez HaKIM Szeryf (87,590 p.)
wybrane 27 stycznia 2018 przez Arkadiusz Waluk
 
Najlepsza

Wydaje mi się, że masz skopane query.  - cofam. Tzn. zapyatnie wydaje się być OK, powinno śmigać. Słabo googlowałem czy można SET w INSERT; stąd moje stwierdzenie. Może nazwa tabeli/kolumny jest nieprawidłowa? Nie jestem pewien, acz może pomóc usunięcie tej spacji: 'wgrane' ".

Byłbym wdzięczny, gdybyś odpowiedział czy moje zapytanie również nie śmiga.

Spróbuj tego:

INSERT INTO tabela2 (sciezka) VALUES ('wgrane')

Tutaj możesz poczytać o SQL Insert:

https://dev.mysql.com/doc/refman/5.7/en/insert.html

A tutaj się pobawić z tym zapytaniem SQL:

https://www.w3schools.com/sql/trysql.asp?filename=trysql_insert_colname

Zalecam również do lektury tej strony dokumentacji:

http://php.net/manual/en/mysqli.query.php

Gdy się wczytasz, dowiesz się, że query może zwrócić false.

Więc, mógłbyś zrobić najprostszy debug:

if (!$polaczenie->query($sql)) {
    printf("Error: %s\n", $polaczenie->error);
}

Poza tym, na miłość boską, wywal tę małpę z kodu. Chyba chcesz wiedzieć i widzieć, na produkcji, że coś idzie nie-tak, hm?

komentarz 27 stycznia 2018 przez halotelefonek Bywalec (2,410 p.)
Małpę już wywaliłem, ale to zapytanie jest dobre, bo pod phpmyadmin mi go normalnie dodaje, a z poziomu php jakoś nie chce
komentarz 27 stycznia 2018 przez HaKIM Szeryf (87,590 p.)
Już się poprawiłem, masz rację - zapytanie jest dobre. Czy te, podane przeze mnie, śmiga czy również sprawia kłopoty?
komentarz 27 stycznia 2018 przez halotelefonek Bywalec (2,410 p.)
Również sprawia kłopoty, ale najdziwniejsze jest to że nie wychodzą żadne błędy a nie dodaje rekordu do bazy
komentarz 27 stycznia 2018 przez HaKIM Szeryf (87,590 p.)
edycja 27 stycznia 2018 przez HaKIM

Mógłbyś wysłać strukturę bazki z Phpmyadmin - SS'a?

Użyj tego po zdefiniowaniu zmiennej $sql:

if (!$polaczenie->query($sql)) {
    printf("Error: %s\n", $polaczenie->error);
}

 

komentarz 27 stycznia 2018 przez halotelefonek Bywalec (2,410 p.)
Error: Table 'zp.tabela2' doesn't exist Wygląda na to że powinno się dodać do bazy te dane

 

a w connect.php jest dodana baza obrazki a nie zp
komentarz 27 stycznia 2018 przez HaKIM Szeryf (87,590 p.)

No to mamy trop!

Spróbuj:

INSERT INTO obrazki (sciezka) VALUES ('wgrane')

Jesteś pewien, że baza się nazywa obrazki? Nie tabela? Masz bazę obrazki z tabelą tabela2, tak? Nie jestem pewien, czy pojęć nie mylisz i się powoli gubię... :p

Tak na marginesie...

Error: Table 'zp.tabela2' doesn't exist Wygląda na to że powinno się dodać do bazy te dane

No właśnie wygląda na to, że nie powinny. cheeky 

komentarz 27 stycznia 2018 przez halotelefonek Bywalec (2,410 p.)
Dzięki, problem rozwiązany :) skopiowałem plik connect.php do innego katalogu i edytowałem ten niewłaściwy, ale dzięki Twojemu poleceniu printf udało się rozwiązać problem :) jeszcze raz dzięki :)
komentarz 27 stycznia 2018 przez HaKIM Szeryf (87,590 p.)

Nie ma sprawy i miłej zabawy! :D

PS. Kiedyś, gdy już zaczniesz z obiektowym programowaniem na całego, musisz koniecznie zobaczyć:

https://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO

http://php.net/manual/en/book.pdo.php

No i jeszcze to:

http://www.phptherightway.com/

Podobne pytania

–1 głos
2 odpowiedzi 397 wizyt
0 głosów
1 odpowiedź 212 wizyt

92,589 zapytań

141,439 odpowiedzi

319,694 komentarzy

61,974 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...