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

Dodawanie rekordów MySql i PHP

Object Storage Arubacloud
0 głosów
2,356 wizyt
pytanie zadane 6 sierpnia 2015 w PHP przez Lukasz Bywalec (2,320 p.)

Witam mam problem z dodaniem nowych rekordów do bazy podczas rejestracji nowego użytkownika na podstawie filmu pana Zelenta o logowaniu. 

Mój kod:

					$sql= "INSERT INTO `uzytkownicy` (`user`, `pass`, `email`) VALUES ($login', '$haslo', '$email)";
					$querty= $mysqli->query($sql);// to jest 42 linia.

a taki błąd mi pokazuje:

Fatal error: Call to a member function query() on null in D:\xampp\htdocs\php\osadnicy\rej.php on line 42

 

znalazłem ten wątek ale nie pomogł: https://forum.pasja-informatyki.pl/37880/dodawanie-rekordu-do-bazy-danych-z-poziomu-php

4 odpowiedzi

+3 głosów
odpowiedź 6 sierpnia 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)

Przede wszystkim masz błąd w zapytaniu. Ostatni nawias powinien wyglądać tak:

('$login', '$haslo', '$email')

Tekst który wysyłamy do bazy zawsze zapisujemy w apostrofach. Tylko jeśli jest to liczba to wtedy nie trzeba apostrofów.

Popraw i sprawdź czy będzie działać.

+2 głosów
odpowiedź 6 sierpnia 2015 przez roque Bywalec (2,160 p.)

Bład Call to a member function query() on null  oznacza, że próbujesz wykonać zapytanie sql bez połączenia do bazy danych, gdzieś jest błąd.

Znajdz fragment kodu, który definiował zmienną $mysqli i zrób dokładnie tak jak na tamtym tutorialu.

Plus popraw zapytanie sql wg. wskazówki Arkadiusz Waluk

Prawdopodobnie definicje $mysqli masz w include_once "connect.php"; jeśli masz taki plik ;-) I oczywiście połączenie do bazy danych musi działać, bo nie dodasz rekordu.

0 głosów
odpowiedź 6 sierpnia 2015 przez Lukasz Bywalec (2,320 p.)
Dobra mam juz działa. trzeba było poprawić te nawiasy i zamiast $mysqli->query() wpisac $polaczenie->quety() bo tak amm zdefiniowane polaczenie. Tak to jest jak sie robi wszystko an szybko ;)

 

EDIT

Nie wywala błędu ale za to nie dodaje rekordów w bazie danych.
komentarz 6 sierpnia 2015 przez Boshi VIP (100,240 p.)
To sobie wyprintuj zapytanie i zobacz gdzie jest błąd.
komentarz 6 sierpnia 2015 przez Comandeer Guru (600,710 p.)
Albo po prostu zastosuj http://php.net/mysqli_error
0 głosów
odpowiedź 7 sierpnia 2015 przez Lukasz Bywalec (2,320 p.)
edycja 7 sierpnia 2015 przez Lukasz

Teraz mam taki kod, zeby pokazywało blędy

$sql= "INSERT INTO 'uzytkownicy' (`user`, `pass`, `email`) VALUES ('$login', '$haslo', '$email')";
					if(!$querty= $polaczenie->query($sql))
						{
							printf("Errormessage: %s\n", mysqli_error($polaczenie));
						}

i pokazuje taki błąd

Errormessage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''uzytkownicy' (`user`, `pass`, `email`) VALUES ('Kalafior', 'Zielony', 'tralala@' at line 1

Values jakie są to te podane przy rejestracji a baza danych to z filmów pana Zelenta

nie mam pojęcia czemu nie działa

 

EDIT:

juz jest ok apostrofy zmienilem na `1

komentarz 7 sierpnia 2015 przez roque Bywalec (2,160 p.)
no widzisz ;-)

Wspominałem o tych apostrfach, dobrze, że już działa ;-)
komentarz 7 sierpnia 2015 przez Lukasz Bywalec (2,320 p.)
te apostrofy to chodziło o to ze $zmienne mialy byc w ' ' normalych a tabela uzytkownicy w tych odwroconych (la lewo od 1)

Podobne pytania

+1 głos
4 odpowiedzi 538 wizyt
+1 głos
1 odpowiedź 354 wizyt
0 głosów
1 odpowiedź 252 wizyt

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 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!

...