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

PHP sprawdzanie kolumny

VPS Starter Arubacloud
0 głosów
259 wizyt
pytanie zadane 4 lipca 2022 w PHP przez AgentTecza Obywatel (1,810 p.)
edycja 4 lipca 2022 przez AgentTecza

Witam,
Napotkałem problem przy szukaniu danych w bazie danych.
Mianowicie chciałbym zrobić coś takiego w php że jeżeli wpiszesz coś w jedno pole input to później po kliknięciu przycisku wyszukuje tej informacji w bazie danych. Jeśli jest prawdziwa(znalazło takie pole w danej kolumnie) to przenosi cię na inną stronę php na której wypisuje wszystkie wartości tego całego jednego wiersza. Niestety mam jakiś problem odnośnie mojego php. Przy okazji chciałbym dowiedzieć się czy istnieje jakiś bardziej bezpieczny sposób łączenia się z bazą danych(poznałem tylko ten tradycyjny)
 

<form method="post">
          <input type="text" name="nem"><br/>
          <button  type="submit" name="submit">Szukaj</button>
          </form>

 

<?php
if(isset($_POST['submit'])){
  $w = $_POST['nem'];
  $pol = mysqli_connect("localhost","root","","test");
  $q = ("SELECT * FROM `testowynr` WHERE `Numerek` = `$w`;");
  $stmt = mysqli_stmt_init($pol);
  if(!mysqli_stmt_prepare($stmt,$q)){
    die(mysqli_error($pol));
}
mysqli_stmt_execute($stmt);
$stmt->close();
$pol->close();
}
?>

Z góry dziękuje za pomoc!

komentarz 4 lipca 2022 przez Comandeer Guru (599,730 p.)
Jakieś błędy dostajesz?
komentarz 4 lipca 2022 przez AgentTecza Obywatel (1,810 p.)
Unknown column 'w' in 'where clause'

"w" jest przykładem jeśli wpiszę coś co rzeczywiście występuje błąd jest taki sam.

2 odpowiedzi

+1 głos
odpowiedź 4 lipca 2022 przez Comandeer Guru (599,730 p.)
wybrane 4 lipca 2022 przez AgentTecza
 
Najlepsza

Problemem jest składnia zapytania – wartości otacza się w apostrofy (') lub cudzysłowy ("), nie gravisy (`). Te służą do oznaczania nazw kolumn czy tabeli. A więc:

$q = ("SELECT * FROM `testowynr` WHERE `Numerek` = '$w';");

Jednak wgl nie powinieneś wstawiać danych bezpośrednio do zapytania, zwłaszcza, że próbujesz używać prepared statements. Dobrze wykorzystane są najbezpieczniejszym sposobem odpytywania bazy danych

komentarz 4 lipca 2022 przez AgentTecza Obywatel (1,810 p.)
A jest jeszcze jakiś bardziej bezpieczny sposób połączenia bazy danych niż ten który używam ja?
1
komentarz 4 lipca 2022 przez Comandeer Guru (599,730 p.)
Samego łączenia nie, ale wykonywania zapytań – tak. Poczytaj dokładnie, jak wykorzystywać prepared statements, bo obecnie robisz to, niestety, źle.
+1 głos
odpowiedź 4 lipca 2022 przez wizarddos Nałogowiec (25,130 p.)

Źle bindujesz dane w kodzie do zapytania. Przeczytaj dokumentację, bo tam to jest opisane.

Podobne pytania

0 głosów
2 odpowiedzi 348 wizyt
pytanie zadane 14 maja 2020 w PHP przez spicedagger Użytkownik (530 p.)
0 głosów
1 odpowiedź 589 wizyt
0 głosów
1 odpowiedź 147 wizyt
pytanie zadane 26 listopada 2016 w PHP przez Grzdaczek Obywatel (1,070 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...