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

Zapytanie nie odczytuje danych z bazy

Object Storage Arubacloud
0 głosów
234 wizyt
pytanie zadane 11 czerwca 2020 w Egzaminy zawodowe przez Maflex24 Nowicjusz (240 p.)

Witam serdecznie!

Po latach przymierzam się do egzaminu E.14 (chodząc kilka lat temu do szkoły policealnej tego egzaminu nie zdałem i myślę, że czas to nadrobić, oraz ruszyć dalej).

Uczę się z różnych źródeł, lecz bardzo mi przypadły do gustu firmy pana Mirosława  Zelenta, tak też pracowałem razem z tym filmem. Poza robieniem słowo w słowo to, co na filmie, postanowiłem zastosować podane metody do swojej bazy. Oto kod PHP:

require_once "dbconnect.php";
$polaczenie = mysqli_connect($host, $user, $password, $password) or die("Połączenie z bazą zdechło");

if(isset($_POST["nazwaUzytkownika"]))
{
	if ($_POST["nazwaUzytkownika"] != "") 
	{
		$uzytkownik = $_POST["nazwaUzytkownika"];
		echo '<script>console.log("uzytkownik: '.$uzytkownik.'")</script>';

		$zapytanie = "SELECT postacie.nazwapostaci, postacie.iduzytkownika FROM postacie, uzytkownicy WHERE uzytkownicy.iduzytkownika = postacie.iduzytkownika AND uzytkownicy.nazwauzytkownika = 'Maflex24'";

		$result = mysqli_query($polaczenie, $zapytanie) or die("nie połączono z bazą danych");

		while ($wiersze = mysqli_fetch_assoc($result)) 
		{
			echo $row['postacie.nazwapostaci'];
		}
		
	}
	else
	{
		echo "Nie możesz podać pustej wartości!";
	}

	
}
else
{
	echo "Jeszcze nie zdefiniowano wartości";
}

mysqli_close($polaczenie);

Jak widać w zapytaniu mam podanego "na sztywno" użytkownika, zamiast zmiennej - tak kontrolnie, gdy będzie mi to działać to dam zmienną, ale... nie działa :) Mam właśnie syndrom ślęczenia nad kodem i nie jestem w stanie znaleźć błędu. 

Otrzymuję komunikat "nie połączono z bazą danych", więc jest to zdefiniowana treść zapytania, nie samego połączenia z bazą - tam jest inny komunikat. 

Zapytanie na pewno jest dobrze, sprawdzone w bazie, w zakładce sql - działa. 

Będę wdzięczny za wszelkie podpowiedzi. Pozdrawiam!

1 odpowiedź

+1 głos
odpowiedź 11 czerwca 2020 przez VBService Ekspert (253,420 p.)
edycja 11 czerwca 2020 przez VBService

Tu masz błąd


$polaczenie = mysqli_connect($host, $user, $password, $password) or 

$polaczenie = mysqli_connect($host, $user, $password, $db_name) or 

Czwarty argument w poleceniu mysqli_connect to nazwa bazy danych.

Mała wskazówka, możesz używać aliasów w składni zapytań sql, skróci się zapis i kod sql stanie się bardziej czytelny. Druga wskazówka, możesz "łamać" linie kodu (ten sam powód - czytelny kod w edytorze) używając: PHP łączenie stringów: konkatenacja, łączenie zmiennych .


$zapytanie = "SELECT p.nazwapostaci AS 'Nazwa postaci', p.iduzytkownika AS 'Id'"
             ." FROM postacie AS p, uzytkownicy AS u"
             ." WHERE u.iduzytkownika = p.iduzytkownika AND u.nazwauzytkownika = 'Maflex24'";

 

1
komentarz 11 czerwca 2020 przez Maflex24 Nowicjusz (240 p.)
Huh, dzięki ci bardzo! To są właśnie te głupie błędy, których czasem nie można wypatrzeć wertując kod od początku do końca.

O aliasach wiem, przerobiłem wszystkie odcinki o SQLu, zanim się za to zabrałem, natomiast ucząc się nowych rzeczy staram się używać jak najprostszych form "starych", by i w nich czegoś przypadkiem nie namieszać.

Oczywiście w czystym SQLu łamię linię przed każdym słowem kluczowym. Przeważnie to wygląda
SELECT ...
FROM ....
WHERE ...

Sporo przede mną. Póki co się skupiam na egzaminie głównie, natomiast po nim mam zamiar zabrać się za te zagadnienia w sposób praktyczny. Bez używania Notepada++ z wyłączonymi podpowiedziami itd, za to ogarniając javascript, PHP, oraz może powoli jakieś frameworki do tego :)

Podobne pytania

0 głosów
2 odpowiedzi 288 wizyt
pytanie zadane 29 listopada 2015 w PHP przez Widemo Użytkownik (920 p.)
0 głosów
0 odpowiedzi 136 wizyt
0 głosów
1 odpowiedź 121 wizyt

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

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

...