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

Brak wyświetlania ceny przy pobraniu danych z formularza

Object Storage Arubacloud
0 głosów
201 wizyt
pytanie zadane 17 czerwca 2020 w Egzaminy zawodowe przez Adrian Kurowski Nowicjusz (160 p.)

Podczas pobierania danych z formularza nic się nie wyświetla natomiast jeśli wpiszę z ręki nazwę produktu to cena się pojawia.

<?php
$conn= mysqli_connect('127.0.0.1:3325', 'root', '','sklep1');
          
 			$przedmiot = $_POST['przedmiot'];
 			$sql="SELECT cena from towary where nazwa = '$przedmiot'";
 			$res= mysqli_query($conn,$sql);
			
			while ($row = mysqli_fetch_assoc($res)) {
				echo "<p>".$row['cena']."</p>";
			}
 				
 				mysqli_close($conn);
?>

 

komentarz 17 czerwca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
A co zwraca query so bazy? Probowales puścić query bezposrednip na bazie?
komentarz 17 czerwca 2020 przez Adrian Kurowski Nowicjusz (160 p.)
W sensie nie bardzo rozumiem?

1 odpowiedź

+1 głos
odpowiedź 17 czerwca 2020 przez michal_php Stary wyjadacz (13,700 p.)

Kilka uwag:

1) zamiast while użyj foreach

2) gdzie i co wpisujesz z palca ?

3) co Ci wypluwa baza danych ?

weź sobie :

dump($sql);

i będziesz wiedzieć co Ci wypluwa baza danych 

4) poczytaj jak zrobić dobre połączenie a bazą danych :

https://www.cloudways.com/blog/connect-mysql-with-php/

Bo jeśli nie łączysz się z bazą danych to nawet nie wiesz gdzie występuje problem.

Proponuje zastosować coś takiego:

$servername = "localhost";
$username = "username";
$password = "password";

try {
  $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}

 

komentarz 17 czerwca 2020 przez Adrian Kurowski Nowicjusz (160 p.)
edycja 17 czerwca 2020 przez Adrian Kurowski
1) Użyłem nic się nie zmienia

2) Jeśli w tej komendzie "SELECT cena from towary where nazwa = '$przedmiot'" zamiast '$przedmiot' wpiszę np 'Cienkopis' czyli nazwę  przedmiotu który jest w bazie danych to normalnie wyświetla mi się cena tego produktu.

3) string(41) "SELECT cena from towary where nazwa = '4'"

Dodam jeszcze, że jak dam dump($row) to wyświetla się wartość NULL

4) Połączenie na pewno jest dobre ponieważ wcześniej roiłem skrypt na wyświetlanie przedmiotów z bazy danych na stronie i działa.
komentarz 17 czerwca 2020 przez michal_php Stary wyjadacz (13,700 p.)

1) chodzi o dobre praktyki. Dzięki temu kod jest nieco czystszy

2) to znaczy, że wartość którą otrzymujesz nie jest zgodna. 

zrób:

dump($przedmiot);

i zobacz co Ci wypluje.

3) jeśli wartość $przedmiot nie będzie pasować do zapytania sql to wypluje Ci null bo nic nie znajdzie.

4) chodzi o dobre praktyki. O zabezpieczanie kodu

Podobne pytania

0 głosów
1 odpowiedź 828 wizyt
0 głosów
1 odpowiedź 226 wizyt
pytanie zadane 11 września 2022 w HTML i CSS przez Jerzy Użytkownik (930 p.)
0 głosów
1 odpowiedź 247 wizyt
pytanie zadane 16 stycznia 2018 w PHP przez Adrian86452 Użytkownik (690 p.)

92,563 zapytań

141,413 odpowiedzi

319,590 komentarzy

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

...